In the Hidden Village of Balloons, those who seek to improve their skills are always close to the training field. The field area is vast, with a section containing $$$N$$$ logs lined up, all $$$N$$$ meters tall, numbered from $$$1$$$ to $$$N$$$. To use them as a kind of scale, each log numbered $$$i$$$ was marked exactly every $$$i$$$ meters (up to $$$N$$$). For example: if $$$N = 3$$$, log $$$1$$$ has marks at $$$1$$$, $$$2$$$, and $$$3$$$ meters, log $$$2$$$ has a mark at $$$2$$$ meters, and log $$$3$$$ has a mark at $$$3$$$ meters.
Among the ninjas in the training field on a certain day was Lucas Sala — a shuriken specialist, capable of throwing more than one billion shurikens simultaneously! He was seeking to perfect his Wind Style: Multiple Aerial Shurikens jutsu, which can hit several opponents with a large number of shurikens. To do this, he was using the logs in the training field as follows: he chose two integers $$$l$$$ and $$$r$$$, with $$$1 \leq l \leq r \leq N$$$, and threw $$$x$$$ shurikens at each of the logs from $$$l$$$ to $$$r$$$ inclusive — hitting them all, of course.
However, Lucas Sala's feat was not enough to impress his sensei, José. So he proposed a challenge for his student: José chose integers $$$l$$$, $$$r$$$, and $$$k$$$ $$$(1 \leq l, r, k \leq N)$$$, and, among the logs from $$$l$$$ to $$$r$$$, Lucas Sala should throw $$$x$$$ shurikens only at those with exactly $$$k$$$ marks. This challenge was performed several times, with different values of $$$l$$$, $$$r$$$, and $$$k$$$. However, José was not able to keep track of all the shurikens thrown to verify Lucas Sala's aim, so he stopped at some moments between challenges to choose other integers $$$l$$$ and $$$r$$$ and count the number of shurikens hit on each log from $$$l$$$ to $$$r$$$.
Thus, being very careful, José wrote down in his scroll two types of events related to that day's training, in the order they occurred:
That day was many years ago, and José remembers that time fondly. Looking at his scroll, he realizes that he did not write down, for the type $$$1$$$ events, the total number of shurikens he counted, which is a pity. Help him relive the old days and recover that information for him!
Since each counted quantity can be very large, you must print the remainder of each one when divided by $$$10^9+7$$$.
The first line contains two numbers: $$$N$$$ $$$(1 \leq N \leq 10^{12})$$$, the number of logs and also the height of each one of them, in meters, and $$$Q$$$ $$$(1 \leq Q \leq 10^{5})$$$, the number of events that occurred during the training.
Each of the next $$$Q$$$ lines contains an event, in one of the following formats:
The output must consist of one line for each event of the first type, each containing a single number $$$x$$$ $$$(0 \leq x \lt 10^9+7)$$$: the remainder, upon division by $$$10^9+7$$$, of the number of shurikens counted by José in the respective event.
5 42 1 5 1 102 2 4 2 51 1 51 2 3
35 15
10 72 1 10 2 10000000002 1 10 2 10000000001 4 52 1 7 1 501 6 82 8 10 5 1001 2 2
999999979 100 0
1000000000000 22 1 1000000000000 2 51 400000000000 600000000000
999996512