#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。

保证输入均为整数。