Xét dãy số nguyên dương a1, a2,… an (a<=10^4) và hai thao tác trên dãy.

Thao tác loại 0 với hai thông số i,x. Thao tác này sẽ thay đổi phần tử a; bằng số nguyên dương x (x< 10^4);

Thao tác loại 1 với hai thông số L,R. Gọi P là tích các số từ L đến R, S là số ước số của P, thao tác này sẽ đưa ra phần dư trong phép chia S cho (10^9 +7).

Yêu cầu: Cho dãy số a, az, . an và q thao tác, với mỗi thao tác loại 1 hãy đưa ra tương ứng

Dữ liệu: Vào từ file văn bản DIV.INP có dang

Dòng đầu chứa số nguyên n;
Dòng thứ hai chứa n số nguyên dương a1, a2 … an
Dòng thứ ba chứa số nguyên q là số thao tác;
Tiếp theo là q dòng, mỗi dòng chứa ba số mô tả các thao tác. Cụ thể: nếu là thao tác loai 0 thì dòng gồm ba số 0, i,x; còn nếu là thao tác loại 1 thì dòng gồm ba số 1, L, R.
Kết quả: Ghi ra q dòng, mỗi dòng là 1 số tương ứng với kết quả cần đưa ra của các thao tác loại 1 theo thứ tự xuất hiện trong file dữ liệu

VD:

input output
1 2 3 4
3
1 3 4
0 4 1 6
1 1 4 4
Em có thể làm được thao tác 0 nhưng đến thao tác một và in ra kết quả em không biết làm ntn, mọi người có thể hướng dẫn e cách làm được không ạ, em cảm ơn trước.