На этот раз Макса попросил о помощи бухгалтерский отдел одной крупной организации.
В организации работают $$$N$$$ сотрудников, пронумерованных от 1 до $$$N$$$. У каждого сотрудника, за исключением директора организации, есть ровно один непосредственный начальник.
Сотрудник $$$a$$$ является подчинённым сотрудника $$$b$$$, если справедливо одно из двух:
- Либо сотрудник $$$b$$$ является непосредственным начальником сотрудника $$$a$$$;
- Либо непосредственный начальник сотрудника $$$a$$$ является подчинённым сотрудника $$$b$$$.
Изначально зарплата $$$i$$$-го сотрудника составляет $$$S_i$$$ рублей.
Бухгалтерам организации часто приходится подсчитывать общий расход средств на оплату труда, а также вносить изменения в структуру начальников и подчинённых. Поэтому Макса попросили разработать приложение, которое помогло бы автоматизировать действия бухгалтерии. Это приложение должно обрабатывать следующие виды запросов:
- $$$1$$$ $$$X$$$ — определить общую сумму зарплат сотрудника $$$X$$$ и всех его подчинённых;
- $$$2$$$ $$$X$$$ $$$D$$$ — повысить зарплату сотрудника $$$X$$$ на $$$D$$$ рублей;
- $$$3$$$ $$$X$$$ — повысить в должности сотрудника $$$X$$$. При этом ничьи зарплаты не изменяются, но $$$X$$$ меняется местами в иерархии сотрудников со своим непосредственным начальником (если $$$X$$$ является директором организации, то никаких изменений не происходит).
Помогите Максу эффективно обработать все запросы.