Задача F. Радость информатика
Ограничение по времени | Ограничение по памяти |
---|---|
3 секунды | 256 мегабайт |
В этом году на олимпиаде по информатике участвуют учеников. Участники пронумерованы от до .
С новой системой, они видят свои баллы сразу после отправки решения по задаче. От результата проверки, настроение участника может очень сильно измениться. В самом начале олимпиады, настроение всех участников равно единице.
Есть история изменений настроения участников. Жюри хочет контролировать настроение всех участников, и просит вас о помощи.
У вас есть запросы трех видов:
- Жюри хочет знать произведение настроения всех участников, пронумерованных от до . Но так как это число может быть слишком большим, надо вывести его по модулю
- Все участники с номерами от до узнали результат проверки и настроение каждого из них умножилось на число
- Все участники с номерами от до , узнали результат проверки и настроение каждого из них поделилось на число , гарантируется что настроение каждого участника на этом отрезке делится на число .
Во всех запросах .
Формат входного файла
В первой строке вводится число и , количество участников и количество запросов. В следующих строках описываются запросы
Формат выходного файла
Для каждого запроса типа 0, вывести ответ на отдельной строке.
Примеры
Вход
5 5
0 1 5 1000000007
1 2 3 6
0 1 5 1000000007
2 2 3 3
0 1 5 1000000007
Выход
1
36
4
Вход
3 5
1 1 3 100
0 1 2 10
2 1 3 100
1 2 3 4
0 1 3 10
Выход
0
6