Подзадачи 1 и 2: brute force обхождане на всички пътеки в дървото Подзадача 3: gcd(x, y) > 1, за x и y прости, само когато x != y => най-дълга пътека от корена към листо => tree dp Подзадача 4: dp[idx][gcd на редицата досега] Подзадача 5: Можем да binary search-ваме по дължината на отговора Подзадача 6: интересуват ни само върхове, които се делят на p > 1 => ератостен обхождане и дп-то от подзадача 3