Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

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

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.