#5295. Truy vấn nguyên tố (Mã bài: PRIMEQ)

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Để tối ưu hóa việc kiểm tra số nguyên tố cho nhiều truy vấn, bạn được yêu cầu xây dựng một "bộ lọc" các số nguyên tố lên tới một giới hạn N cho trước. Sau đó, với Q truy vấn, mỗi truy vấn là một số nguyên K , hãy trả lời nhanh chóng xem K có phải là số nguyên tố hay không.

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên N Q ( 1 \le N \le 10^7 , 1 \le Q \le 10^5 ).
  • Q dòng tiếp theo, mỗi dòng chứa một số nguyên K ( 1 \le K \le N ).

Kết quả: Với mỗi truy vấn, in ra YES nếu K là số nguyên tố và NO nếu ngược lại, mỗi kết quả trên một dòng riêng biệt.

Ví dụ:

Dữ liệu:

20 4
2
7
10
19

Kết quả:

YES
YES
NO
YES