Ước chung lớn nhất

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 6

Cho hai số nguyên dương ~N~ và ~D~. Hãy đếm số cặp số nguyên ~(x, y)~ thỏa mãn ~1 \le x \le y \le N~ và ~\gcd(x, y) = D~.

Yêu cầu

Tính số lượng cặp số nguyên ~(x, y)~ thỏa mãn đồng thời: ~1 \le x \le y \le N~ và ~\gcd(x, y) = D~.

Dữ liệu

Gồm một dòng duy nhất chứa hai số nguyên dương ~N~ và ~D~.

Kết quả

In ra số lượng cặp ~(x, y)~ tìm được.

Ví dụ

Ví dụ ~1~

Input

12 3

Output

6

Giải thích

Ví dụ ~1~

Các bội của ~3~ không vượt quá ~12~ là ~3, 6, 9, 12~.

Ta cần đếm các cặp ~(x, y)~ trong tập này sao cho ~\gcd(x, y) = 3~. Các cặp thỏa mãn là: ~(3,3), (3,6), (3,9), (3,12), (6,9), (9,12)~.

Vì vậy kết quả là ~6~.

Ràng buộc và chấm điểm

Ràng buộc

~1 \le N, D \le 10^7~.


Bộ bốn số

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho ~4~ dãy số nguyên ~A, B, C, D~, mỗi dãy có độ dài ~N~, và một số nguyên ~M~. Hãy đếm số bộ chỉ số ~(i, j, k, l)~ thỏa mãn: ~1 \le i, j, k, l \le N~ và ~A_i + B_j + C_k + D_l = M~.

Yêu cầu

Đếm số bộ chỉ số ~(i, j, k, l)~ sao cho: ~1 \le i, j, k, l \le N~ và ~A_i + B_j + C_k + D_l = M~.

Dữ liệu

Dòng đầu tiên chứa hai số nguyên ~N~ và ~M~.

Dòng thứ hai chứa ~N~ số nguyên của dãy ~A~.

Dòng thứ ba chứa ~N~ số nguyên của dãy ~B~.

Dòng thứ tư chứa ~N~ số nguyên của dãy ~C~.

Dòng thứ năm chứa ~N~ số nguyên của dãy ~D~.

Kết quả

In ra số bộ chỉ số đếm được.

Ví dụ

Ví dụ ~1~

Input

3 8
0 1 2
1 1 1
3 4 5
1 1 1

Output

18

Giải thích

Ví dụ ~1~

Vì mọi phần tử của ~B~ và ~D~ đều bằng ~1~, ta cần: ~A_i + C_k + 1 + 1 = 8~, tức là ~A_i + C_k = 6~.

Các cặp giá trị thỏa mãn là: ~1 + 5 = 6~ và ~2 + 4 = 6~.

Có ~2~ cách chọn cặp ~(i, k)~ tương ứng. Với mỗi cách như vậy, có ~3~ cách chọn ~j~ và ~3~ cách chọn ~l~.

Do đó số bộ chỉ số là: ~2 \times 3 \times 3 = 18~.

Ràng buộc và chấm điểm

Ràng buộc

~1 \le N \le 10^3~.

~|M|, |A_i|, |B_i|, |C_i|, |D_i| \le 10^9~ với mọi ~i~ thỏa mãn ~1 \le i \le N~.


Time limit: 1.0 / Memory limit: 256M

Point: 3

Cho dãy số ~a_1, a_2, \ldots, a_n~, trong đó tồn tại ít nhất ~2~ phần tử có giá trị khác nhau. Hãy tìm số nguyên dương ~M~ lớn nhất sao cho khi chia mọi phần tử của dãy cho ~M~, tất cả đều cho cùng một số dư, tức là: ~a_1 \bmod M = a_2 \bmod M = \cdots = a_n \bmod M~.

Yêu cầu

Tìm số nguyên dương lớn nhất ~M~ sao cho mọi phần tử trong dãy khi chia cho ~M~ đều có cùng số dư.

Dữ liệu

Dòng thứ nhất chứa số nguyên dương ~n~.

Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, \ldots, a_n~.

Kết quả

In ra số nguyên dương ~M~ thỏa mãn điều kiện.

Ví dụ

Ví dụ ~1~

Input

5
4 13 16 10 7

Output

3

Giải thích

Ví dụ ~1~

Sắp xếp dãy ta được: ~4, 7, 10, 13, 16~.

Hiệu giữa các phần tử liên tiếp đều bằng ~3~, nên ước chung lớn nhất của mọi hiệu là ~3~.

Khi chia các số ~4, 13, 16, 10, 7~ cho ~3~, tất cả đều dư ~1~. Do đó giá trị lớn nhất của ~M~ là ~3~.

Ràng buộc và chấm điểm

Ràng buộc

~2 \le n \le 10^6~.

~1 \le a_i \le 10^9~ với mọi ~i~ thỏa mãn ~1 \le i \le n~.

Dãy tồn tại ít nhất ~2~ phần tử có giá trị khác nhau.