#2434. 小杨报数2
小杨报数2
小杨报数2
题目描述
小杨需要按照从小到大的顺序,从 1 到 n 报数。
在报数过程中,如果一个数是 m 的倍数,或者是 p 的倍数,小杨就会跳过这个数,不把它报出来。
例如,当 n=15,m=2,p=3 时,2、4、6 等 2 的倍数和 3、6、9 等 3 的倍数都会被跳过;同一个数即使同时是 m 和 p 的倍数,也只跳过一次。因此实际报出的数依次为:
1 5 7 11 13
现在有 q 次询问,每次询问一个正整数 k。请回答:小杨报出的第 k 个数是多少?如果不足 k 个,输出 -1。
输入格式
第一行四个整数 n、m、p、q。
接下来 q 行,每行一个正整数 k。
输出格式
输出 q 行,每行一个整数,表示对应询问的答案。若不存在第 k 个数,输出 -1。
样例输入 1
30 2 3 5
1
3
6
10
11
样例输出 1
1
7
17
29
-1
数据范围
对于 100% 的数据:1 ≤ n,m,p ≤ 10^9,1 ≤ q ≤ 10^5,1 ≤ k ≤ 10^18。
保证输入均为整数。