E. Фонарики
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Поликарпа недавно приняли на работу в одну престижную компанию. На собеседовании ему дали интересное задание:

Даны $$$N$$$ лампочек, выстроенных в ряд. Изначально все они выключены. Далее происходит инверсия каждой первой, потом каждой второй, потом каждой третьей лампочки и так далее до каждой $$$N$$$-й. Требуется узнать сколько лампочек будет гореть после проделанных инверсий. Под инверсией понимается изменение состояния с «включено» на «выключено» и наоборот. Поликарп не задумываясь выдал ответ, и его приняли на место главного разработчика модуля, отвечающего за конфигурацию более серьёзных объектов — фонарей.

Скоро день города, поэтому фонари на главном авеню должны гореть не как обычно. Модуль, над которым работает Поликарп, должен принимать запросы вида $$$i$$$, $$$j$$$, $$$k$$$, запрос такого вида обозначает, что нужно применить инверсию к каждому $$$k$$$-му фонарю на отрезке $$$[i,j]$$$. Более точно, произойдёт инверсия $$$i$$$-го, $$$i+k$$$-го, $$$i+2k$$$-го фонаря и так далее. Так как ответственный за подачу команд должен владеть информацией обо всех фонарях, модуль так же должен уметь выводить текущую конфигурацию всех фонарей.

Поликарп считает, что код его модуля идеален, но руководство считает, что он слишком медленно работает, и угрожает Поликарпу должностью полировщика нитей накала. Помогите Поликарпу улучшить его модуль, он в долгу не останется!

Входные данные

В первой строке ввода содержится натуральное число $$$N$$$ — количество фонарей ($$$1\leq N \leq 10^{5}$$$).

Во второй строке содержится изначальная конфигурация фонарей в виде строки длиной $$$N$$$ из символов «0» и «1», где «1» обозначает, что фонарь включён и «0», что выключен.

В третьей строке содержится целое число $$$M$$$ — количество запросов ($$$0 \leq M \leq 10^{5}$$$). Далее в $$$M$$$ строках идут запросы. Запрос на вывод обозначается словом out, запрос на изменение состоит из трёх целых чисел $$$i$$$, $$$j$$$, $$$k$$$ ($$$1 \leq i \leq j \leq N$$$, $$$1 \leq k \leq N$$$).

Выходные данные

На каждый запрос на вывод текущей конфигурации, выведите строку из символов «0» и «1», аналогично формату во входных данных.

Гарантируется, что потребуется вывести не более $$$2 \times 10^{5}$$$ символов.

Примеры
Входные данные
3
101
2
1 3 1
out
Выходные данные
010
Входные данные
5
00000
4
2 4 2
out
1 5 2
out
Выходные данные
01010
11111