Truy vấn OR

View as PDF

Submit solution

Points: 1.00
Time limit: 1.0s
Memory limit: 512M
Input: stdin
Output: stdout

Authors:
Problem type

Cho mảng A gồm n phần tử ~A_1, A_2, ..., A_n~.

Bạn hãy xử lý q truy vấn, mỗi truy vấn gồm một số nguyên ~x~. Nhiệm vụ của bạn là cho biết có bao nhiêu phần tử trong mảng A sao cho ~A_i | x = x~ (~1 \le i \le n)~.

Phép | là phép OR trong hệ nhị phân:

0 | 0 = 0

0 | 1 = 1

1 | 0 = 1

1 | 1 = 1

Input

Dòng đầu tiên gồm 2 số n và q (~ 2 \le n, q \le 2.10^5 ~) - số phần tử trong mảng A và số truy vấn.

Dòng tiếp theo gồm n số nguyên ~A_1, A_2, ..., A_n~ (~ 1 \le A_i \le 10^6 ~)

Dòng tiếp theo gồm q số nguyên ~X_1, X_2, ..., X_n~ (~ 1 \le X_i \le 10^6 ~)

Output

Gồm q dòng, mỗi dòng là câu trả lời cho truy vấn tương ứng.

Examples

Input

7 6 
2 1 3 5 4 6 2 
7 4 3 6 5 9 

Output

7
1 
4
4
3 
1 

Comments

Please read the guidelines before commenting.


There are no comments at the moment.