Рашад захоплюється автомобілями, і нарешті йому вдалося відкрити власний автомобільний завод! На заводі працює працівників, кожен з яких має рівно одного керівника (крім Рашада - він є керівником усіх за замовчуванням). Рашад позначений номером , а решта працівників - номерами від до . Кожен працівник може змінювати зарплату всіх своїх підлеглих (як прямих, так і тих, що нижче в ієрархічному дереві). Завдання Рашада - запобігти зловживанню такою владою, тому він час від часу хоче знати зарплату конкретного працівника. Він просить вас створити програму, яка допоможе йому відстежувати зміни зарплат, враховуючи послідовність команд, описаних у розділі вводу.
Перша строка вводу містить два розділених пробілом додатних числа (1 \le N \le 500000), кількість працівників, та (1 \le M \le 500000), кількість змін зарплат та запитів про зарплати. Наступні рядків містять інформацію про працівників , , ..., (відповідно): початкова зарплата та ідентифікатор його прямого керівника. Примітка: Рашад не має керівника, тому його рядок міститиме лише його початкову зарплату.
Наступні рядків містять одну з наступних команд:
p A X - працівник збільшує (або зменшує у випадку від'ємного ) зарплату всіх своїх підлеглих на величину (-10000 \le X \le 10000);
u A - Рашад хоче знати зарплату працівника .
Вивід повинен містити один рядок для кожного запиту типу '2' у вводі - поточну зарплату вказаного працівника.
Приклад 1
Приклад 2
Приклад 3