CF1114F Please, another Queries on Array?
Description
You are given an array $ a_1, a_2, \ldots, a_n $ .
You need to perform $ q $ queries of the following two types:
1. "MULTIPLY l r x" — for every $ i $ ( $ l \le i \le r $ ) multiply $ a_i $ by $ x $ .
2. "TOTIENT l r" — print $ \varphi(\prod \limits_{i=l}^{r} a_i) $ taken modulo $ 10^9+7 $ , where $ \varphi $ denotes Euler's totient function.
The [Euler's totient function](http://gg.gg/euler_totient) of a positive integer $ n $ (denoted as $ \varphi(n) $ ) is the number of integers $ x $ ( $ 1 \le x \le n $ ) such that $ \gcd(n,x) = 1 $ .
Input Format
N/A
Output Format
N/A
Explanation/Hint
In the first example, $ \varphi(1) = 1 $ for the first query, $ \varphi(2) = 1 $ for the second query and $ \varphi(6) = 2 $ for the third one.