Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Hôm nay An nhận được 5 số nguyên ~a,b,c,d,mod~. Cậu muốn tính tích các số ~a,b,c,d~ sau đó chia dư cho số ~mod~.

Hãy giúp An nhé!

Input

Một dòng duy nhất gồm năm số nguyên ~a,b,c,d,mod~ (~|a|, |b|, |c|, |d| < 100, 0 < mod ≤ 100~)

Output

Một số nguyên duy nhất chứa kết quả của bài toán

Lưu ý: phép chia dư phải ra kết quả là một số không âm.

Sample Test

Input
2 8 6 1 11
Output
8

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Hôm nay An nhận được 5 số nguyên ~a, b, c, d, mod~. Cậu muốn tính ~(a + b) * (c + d)~ sau đó chia dư cho số ~mod~. Hãy giúp An nhé!

Input

Nhập năm số nguyên ~a, b, c, d, mod~ (~|a|, |b|, |c|, |d| < 100, 0 < mod ≤ 100~).

Output

In ra kết quả của bài toán.

Lưu ý: phép chia dư phải ra kết quả là một số không âm.

Sample Test

Input
2 8 6 1 11
Output
4

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho số nguyên dương ~n~. In ra cách phân tích số ~n~ thành tổng hai số nguyên dương ~a, b~ sao cho tích của chúng là lớn nhất.

Input

Nhập số ~n~ (~2 ≤ n ≤ 10^9~).

Output

In ra hai số nguyên dương ~a~ và ~b~ thỏa mãn đề bài (~a < b~), hai số ngăn cách nhau bởi một dấu cách.

Sample Test

Input 1
6
Output 1
3 3
Input 2
7
Output 2
3 4

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho 2 đường thẳng: ~y = a_1x + b_1~ ~y = a_2x + b_2~ Hãy tìm tọa độ giao điểm của chúng.

Input

Nhập bốn số nguyên ~a_1, b_1, a_2, b_2~ có giá trị tuyệt đối không vượt quá 1000.

Output

In ra tọa độ giao điểm ~x, y~ của hai đường thẳng cách nhau bởi một dấu cách. Đáp án lấy chính xác đến 6 chữ số sau phần thập phân.

Sample Test

Input
1 0 2 -2
Output
2.000000 2.000000

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho một ký tự chữ cái in hoa trong bảng chữ cái tiếng Anh, in ra chữ cái liền trước, in thường của chữ cái đó.

Input

Nhập một ký tự là một chữ cái in hoa.

Output

Kết quả bài toán.

Lưu ý: Coi chữ cái liền trước chữ cái ~A~ là chữ cái ~Z~.

Sample Test

Input
C
Output
b
Input
A
Output
z

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Bạn An có một cái đĩa trên đó có ghi các chữ cái tiếng Anh in thường từ 'a' tới 'z' theo thứ tự vòng tròn.

Trang chọn một chữ cái rồi đố An chữ cái đứng sau chữ cái đó ~n~ vị trí là chữ cái nào? (Chữ 'a' đứng sau chữ 'z' khi các chữ cái được xếp theo vòng tròn.)

Input

Nhập một ký tự chữ cái tiếng Anh in thường và một số nguyên không âm ~n~ có giá trị không vượt quá ~10^9~, cách nhau bởi một dấu cách.

Output

In ra chữ cái đứng sau ~n~ vị trí so với chữ cái đã cho dưới dạng chữ in hoa.

Sample Test

Input
a 1
Output
B
Input
y 5
Output
D

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho 2 ký tự chữ cái ~a, b~ in thường trong bảng chữ cái tiếng Anh. In ra số lượng các chữ cái nằm giữa ~a~ và ~b~.

Input

Nhập hai chữ cái in thường, cách nhau bởi một dấu cách.

Output

Kết quả bài toán.

Sample Test

Input 1
a e
Output 1
3
Giải thích

Các chữ cái nằm giữa là b, c, d

Input 2
d a
Output 2
2
Giải thích

Các chữ cái nằm giữa là b, c


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 500M

Điểm: 10

Cho dãy số nguyên dương: ~a_1, a_2, ..., a_M~. Đặt ~N = a_1 \times a_2 \times ... \times a_M~. Hãy tính số lượng ước của ~N~.

Ví dụ: ~N = 2 \times 3 = 6~. Số lượng ước của ~N~ là ~4~ tức là 6 có ~4~ ước: ~1, 2, 3, 6~.

Input

Dòng đầu chứa số nguyên ~M~

Dòng thứ hai là dãy số nguyên dương ~M~ phần tử: ~a_1, a_2, ..., a_M~ (~1 \leq a_i \leq 10^6~)

Output

Một số nguyên duy nhất là kết quả tính được. Kết quả của bài toán chỉ cần in ra phần dư khi chia cho ~10^9 + 7~.

Sample Test

Input
2
2 3
Output
4

Ràng buộc

  • Có ~60\%~ số test ứng với ~60\%~ số điểm của bài có ~N \leq 10^6~;
  • Có ~20\%~ số test ứng với ~20\%~ số điểm của bài có ~M \leq 1000~;
  • Có ~20\%~ số test khác ứng với ~20\%~ số điểm còn lại của bài.

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Ước số chung đặc biệt của hai số nguyên dương ~a~ và ~b~ là số nguyên dương ~d~ sao cho ~a~ chia hết cho ~d~, ~b~ chia hết cho ~d~, và tổng các chữ số của ~d~ là lớn nhất. Hãy tìm ước số chung đặc biệt của hai số ~a~ và ~b~.

Input

Một dòng duy nhất chứa hai số nguyên ~a, b~ (~1 < a, b < 10^9~).

Output

Trong một dòng duy nhất ghi ra tổng các chữ số của ước số chung đặc biệt của hai số ~a~ và ~b~.

Sample Test

Input
220 440
Output
10
Giải thích

Ước chung của 220 và 440 là ~1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110, 220~. Trong số các ước này, số ~55~ có tổng các chữ số lớn nhất. Do đó, ước chung đặc biệt của 220 và 440 là ~55~. Kết quả in ra là tổng các chữ số của số ~55~, tức là bằng ~10~.


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 500M

Điểm: 10

Cho số nguyên dương ~K~, số nguyên dương ~N~ gọi là K-factor nếu ~N~ có thể viết được bằng tích của các số nguyên dương bé hơn hay bằng ~K~.

Cho số ~K~ và đoạn nguyên dương ~[a, b]~, hãy xác định có bao nhiêu số nguyên dương K-factor thuộc đoạn ~[a, b]~.

Input

Một dòng gồm 3 số nguyên dương ~K, a, b~ (~2 ≤ K ≤ 10^5~, ~1 ≤ a ≤ b ≤ 2 \times 10^9~, ~b - a ≤ 5 \times 10^6~).

Output

Một số nguyên duy nhất là số số nguyên dương K-factor thuộc đoạn ~[a, b]~.

Sample Test

Input
5 30 40
Output
4
Giải thích

Có ~4~ số 5-factor thuộc đoạn ~[30, 40]~ là:

  • ~30 = 2 \times 3 \times 5~
  • ~32 = 2^5~
  • ~36 = 3^2 \times 4~
  • ~40 = 2^3 \times 5~

Giới hạn

  • Có ~60\%~ test với: ~2 ≤ K ≤ 10^4~, ~1 ≤ a ≤ b ≤ 10^6~, ~b - a ≤ 10^4~.

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 500M

Điểm: 10

Tìm số nguyên tố có ~K~ chữ trong đoạn ~[A, B]~.

Yêu cầu

Cho đoạn ~[A, B]~, hãy tìm số lượng số nguyên tố có ~K~ chữ số trong đoạn đó.

Input

Một dòng chứa ~K, A~ và ~B~ (~1 ≤ A, B ≤ 10^6~)

Output

Gồm một số duy nhất là số lượng số nguyên tố cần tìm.

Sample Test

Input
1 2 10
Output
4

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho số nguyên dương ~n~. Gọi ~a, b~ là hai số nguyên dương sao cho ~a + b = n~. Gọi ~d~ là ước chung lớn nhất của ~a~ và ~b~.

Yêu cầu

Tìm giá trị lớn nhất của ~d~.

Input

  • Chứa số nguyên dương ~n~, với ~2 \leq n \leq 10^9~.

Output

  • Giá trị lớn nhất của ~d~ tìm được.

Sample Test

Input
15
Output
5
Giải thích

Số ~15 = 5 + 10~ và giá trị lớn nhất của ~d = 5~


Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho số nguyên dương ~M, N~. Tìm biểu diễn dạng số thập phân của phân số ~\frac{M}{N}~. Nếu giá trị phân số là số thập phân vô hạn tuần hoàn thì đặt chu kỳ lặp lại ở trong ngoặc.

Ví dụ: ~M = 2~, ~N = 3~ thì in ra màn hình là ~0,(6)~.

Input

Một dòng chứa số ~M, N~ (~1 \leq M, N \leq 30000~)

Output

Ghi ra dạng biểu diễn của số thập phân của phân số ~\frac{M}{N}~.

Sample Test

Input
2 3
Output
0,(6)
Input
10 4
Output
2,5

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho ba số nguyên ~a, b, c~ và một số nguyên dương ~M~.

Yêu cầu

Hãy tìm tích lớn nhất được tạo bởi hai trong ba số ~a, b, c~. Vì kết quả có thể rất lớn nên chỉ cần in ra phần dư khi chia cho ~M~.

Input

Gồm một dòng duy nhất ghi gồm bốn số nguyên ~a, b, c, M~ (~|a|, |b|, |c| \leq 10^{18}, 1 \leq M \leq 10^{18}~).

Output

Một số nguyên duy nhất là kết quả của bài toán.

Sample Test

Input 1
3 2 5 4
Output 1
3
Input 2
2 -3 -2 100
Output 2
6

Ràng buộc

  • Có ~70\%~ số test tương ứng với số điểm có ~(|a|, |b|, |c| \leq 10^9, 1 \leq M \leq 10^9)~.
  • Có ~30\%~ số test còn lại không có ràng buộc gì thêm.

Giới hạn thời gian: 1.0s / Giới hạn bộ nhớ: 256M

Điểm: 10

Cho 3 số nguyên dương ~a, n, k~.

Yêu cầu

Xác định ~k~ chữ số cuối cùng của ~a^n~.

Input

Một dòng duy nhất chứa 3 số nguyên ~a, n, k~ (~1 < a, n \leq 10^6, 0 < k < 10~).

Output

Một số nguyên duy nhất là kết quả tìm được theo yêu cầu.

Sample Test

Input
11 3 2
Output
31
Giải thích

~11^3 = 1331~; với ~k=2~ nên ~2~ chữ số cuối của kết quả là ~31~.