Mini contest 1


Chia nhóm lao động

Nộp bài
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một khối lớp 9 có \(A\) bạn nam và \(B\) bạn nữ. Thầy cô muốn chia cả khối thành các nhóm lao động sao cho số lượng nhóm là nhiều nhất có thể, nhưng phải đảm bảo hai điều kiện:

  1. Số bạn nam trong mỗi nhóm phải bằng nhau.
  2. Số bạn nữ trong mỗi nhóm phải bằng nhau.

Hãy xác định số nhóm lớn nhất có thể chia và số lượng bạn nam, bạn nữ trong mỗi nhóm đó.

Input

  • Một dòng duy nhất chứa hai số nguyên dương \(A\)\(B\) (\(1 \le A, B \le 10^9\)), lần lượt là tổng số học sinh nam và tổng số học sinh nữ.

Output

  • Dòng đầu tiên in ra một số nguyên là số lượng nhóm lớn nhất có thể chia.
  • Dòng thứ hai in ra hai số nguyên lần lượt là số học sinh nam và số học sinh nữ trong mỗi nhóm, cách nhau bởi một khoảng trắng.

Examples

Test 1

Input
24 18
Output
6
4 3

Test 2

Input
35 27
Output
1
35 27

Đếm số chia hết

Nộp bài
Điểm: 100 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho một dãy gồm \(N\) số nguyên dương \(A_1, A_2, \dots, A_N\).
Bạn được cho \(Q\) truy vấn, mỗi truy vấn là một số nguyên dương \(X\), hãy đếm số lượng các số trong dãy \(A\)chia hết cho \(X\).

Input

  • Dòng đầu tiên chứa hai số nguyên \(N\)\(Q\) (\(1 \le N \le 10^5\), \(1 \le Q \le 10^5\)).
  • Dòng thứ hai chứa \(N\) số nguyên dương \(A_1, A_2, \dots, A_N\) (\(1 \le A_i \le 10^6\)).
  • Dòng thứ ba chứa \(Q\) số nguyên dương \(X_1, X_2, \dots, X_Q\) (\(1 \le X_j \le 10^6\)) là các truy vấn.

Output

  • Một dòng duy nhất in ra \(Q\) số nguyên, mỗi số là kết quả của một truy vấn tương ứng, cách nhau bởi một dấu cách.

Examples

Test 1

Input
5 3
12 5 24 6 15
2 3 7
Output
3 4 0
Explanation

Dãy số \(A\) là: \(12, 5, 24, 6, 15\).

  1. Truy vấn \(X=2\): Các số chia hết cho \(2\)\(12, 24, 6\). Có \(3\) số.
  2. Truy vấn \(X=3\): Các số chia hết cho \(3\)\(12, 24, 6, 15\). Có \(4\) số.
  3. Truy vấn \(X=7\): Không có số nào trong dãy chia hết cho \(7\). Có \(0\) số.
    Kết quả là \(3 \ 4 \ 0\).

Test 2

Input
4 2
100 200 100 50
10 100
Output
4 3
Explanation

Dãy số \(A\) là: \(100, 200, 100, 50\).
1. Truy vấn \(X=10\): Các số chia hết cho \(10\)\(100, 200, 100, 50\). Có \(4\) số.
2. Truy vấn \(X=100\): Các số chia hết cho \(100\)\(100, 200, 100\). Số \(50\) không chia hết cho \(100\). Có \(3\) số.
Kết quả là \(4 \ 3\).

Scoring

  • Subtask \(1\) (\(40\%\) số điểm): \(N \le 2000\)\(Q \le 2000\).
  • Subtask \(2\) (\(60\%\) số điểm): Không có ràng buộc gì thêm.

Sàng nguyên tố 2

Nộp bài
Điểm: 100 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Một số nguyên tố là một số tự nhiên lớn hơn 1 và không có ước số dương nào khác ngoài 1 và chính nó.

Cho \(Q\) truy vấn, mỗi truy vấn là một số nguyên dương \(N\). Với mỗi truy vấn, bạn hãy xác định xem \(N\) có phải là số nguyên tố hay không.

Input

  • Dòng đầu tiên chứa một số nguyên \(Q\) (\(1 \le Q \le 10^5\)) là số lượng truy vấn.
  • \(Q\) dòng tiếp theo, mỗi dòng chứa một số nguyên dương \(N\) (\(1 \le N \le 10^6\)) là số cần kiểm tra.

Output

  • Gồm \(Q\) dòng, mỗi dòng in ra YES nếu số tương ứng là số nguyên tố, ngược lại in ra NO.

Examples

Test 1

Input
4
7
10
1
13
Output
YES
NO
NO
YES

Test 2

Input
2
97
100
Output
YES
NO

Đếm số nguyên tố

Nộp bài
Điểm: 100 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Một số nguyên tố là một số tự nhiên lớn hơn \(1\) và không có ước số dương nào khác ngoài \(1\) và chính nó.

Cho hai số nguyên dương \(L\)\(R\). Nhiệm vụ của bạn là đếm xem có bao nhiêu số nguyên tố trong đoạn \([L, R]\) (tính cả \(L\)\(R\)).

Input

  • Một dòng duy nhất chứa hai số nguyên \(L\)\(R\) (\(1 \le L \le R \le 10^6\)).

Output

  • In ra một số nguyên duy nhất là số lượng số nguyên tố trong đoạn \([L, R]\).

Examples

Test 1

Input
10 20
Output
4
Explanation

Các số nguyên tố trong đoạn từ 10 đến 20 là 11, 13, 17, và 19.

Test 2

Input
1 10
Output
4
Explanation

Các số nguyên tố trong đoạn từ 1 đến 10 là 2, 3, 5, và 7.