Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P176PROJ - ROUND 6J - Phi hàm euler |
Trong lý thuyết số, phi hàm euler được kí hiệu bởi phi(n) của một số nguyên dương n được định nghĩa là số các số nguyên dương nhỏ hơn hoặc bằng n nguyên tố cùng nhau với n.
Chẳng hạn phi(9) = 6 vì có 6 số 1, 2, 4, 5, 7 và 8 là nguyên tố cùng nhau với 9.
Giờ bạn được cho 1 mảng gồm n phần tử và m truy vấn. Mỗi truy vấn gồm 2 số l và r. Ứng với mỗi truy vấn bạn cần tính phi(al * al + 1 * … * ar – 1 * ar) mod 1e9+7.
Input
Dòng đầu tiên chứa số nguyên n (1 <= n <= 200000) là số lượng phần tử trong mảng. Dòng tiếp theo gồm n số nguyên dương a1, a2, …, an (1 <= ai <= 106).
Dòng thứ 3 gồm số nguyên dương m (1 <= m <= 200000) là số truy vấn. Trên m dòng tiếp theo mỗi dòng gồm 2 số nguyên li và ri (1 <= li <= ri <= n).
Output
Gồm m dòng, mỗi dòng in ra kết quả của bài toán modulo 1e9 + 7.
Example
Input:
10
1 2 3 4 5 6 7 8 9 10
7
1 1
3 8
5 6
4 8
8 10
7 9
7 10
Output:
1
4608
8
1536
192
144
1152
Được gửi lên bởi: | adm |
Ngày: | 2017-03-24 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |