Задача H. Дърво --- Дадено е претеглено дърво с N, 2 ≤ N ≤ 150 001 върха, номерирани с числата от 0 до N - 1. Корена на дървото е връх с номер 0. Търси се разстоянието между двойки върхове. Вход --- За всеки тест на първия ред е зададен броя на върховете N. Следват N - 1 реда с по две числа. i-тия ред съдържа предшественика на връх с номер i и разстоянието между тях d, 0 ≤ d ≤ 100. Следва ред с броя на заявките Q, 0 ≤ Q ≤ N. На следващите Q реда ще има по две числа – номерата на върховете, разстоянието между които ни интересува. Края на входа е маркиран с 0. Изход --- За всеки тест програмата трябва да изведе Q числа, всяко на отделен ред на стандартния изход – разстоянието между съответните върхове. Примерен вход --- 16 0 1 1 2 1 3 2 2 2 4 3 1 6 4 5 2 4 1 4 5 9 4 9 2 12 3 7 2 7 1 7 13 15 8 2 0 14 9 10 14 8 10 11 13 8 0 Примерен изход --- 19 6 11 6 18 10 14