Lan muốn nhờ Anh giải giúp bài toán sau: Cho một mảng số nguyên, có 2 toán tử có thể tác động lên mảng như sau:
Thực ra vì có tình ý với Lan nên Anh không thể từ chối Lan. Nhưng vốn tính lười biếng nên Anh không muốn làm việc mà muốn bí mật nhờ bạn viết hộ chương trình giải quyết bài toán dùm.
Dòng đầu tiên chứa một số nguyên n là kích thước của mảng (1 ≤ n ≤ 5 · 104).
Dòng thứ 2 chứa n số nguyên ai là các phần tử của mảng (1 ≤ ai ≤ 104).
Dòng thứ 3 chứa một số nguyên q là số lượng yêu cầu (1 ≤ q ≤ 104).
Mỗi dòng trong số q dòng tiếp theo chứa 3 số nguyên chỉ một toán tử tác động lên mảng. Nếu số đầu tiên là 0 thì sẽ thực hiện cập nhật yêu cầu này trong mảng. Nếu số đầu tiên là 1, thì chương trình cần tìm ra số ước số của tích các phần tử liên tiếp nhau trong đoạn, lấy phần dư trong phép chia cho 109+7.
Dữ liệu đảm bảo trong tất cả các yêu cầu 1 ≤ i,l,r ≤ n;1 ≤ x ≤ 104. Kết quả
Đối với mỗi yêu cầu tìm số ước số, ghi ra trên một dòng giá trị tìm được lấy phần dư cho 109 + 7.
Input
5
2 3 4 5 6
6
1 2 4
1 2 3
0 1 1
0 4 7
1 1 3
1 1 4
Output
12
6
6
12
Nguồn ĐPT 20152016