$n$마리의 몬스터가 있으며, $i$번째 몬스터의 초기 체력은 $h_i$입니다. 몬스터의 체력이 0보다 크면 살아있다고 합니다. 당신의 공격력은 $a$이고, 상대방의 공격력은 $b$입니다. 몬스터가 하나라도 살아있는 동안, 당신과 상대방은 번갈아 가며 몬스터를 공격합니다(당신이 먼저 시작합니다). 당신은 매우 똑똑하기 때문에, 당신의 차례에 살아있는 몬스터 중 아무나 공격하거나 아무것도 하지 않을 수 있습니다. 만약 $i$번째 몬스터를 공격하기로 선택하면, 해당 몬스터의 체력 $h_i$가 정확히 $a$만큼 감소합니다. 당신의 공격 후, 몬스터가 죽으면(살아있지 않으면) 당신은 승점 1점을 얻습니다. 반면, 상대방은 똑똑하지 않습니다. 상대방은 자신의 차례가 되면 살아있는 몬스터 중 인덱스가 가장 작은 몬스터를 찾아 공격합니다(즉, $h_i > 0$인 가장 작은 $i$를 찾아 $h_i$를 정확히 $b$만큼 감소시킵니다). 당신이 얻을 수 있는 승점의 최댓값은 얼마입니까?
입력
첫 번째 줄에는 세 정수 $n, a, b$ ($1 \le n \le 300\,000$, $1 \le a, b \le 10^9$)가 주어집니다. 이는 각각 몬스터의 수, 당신의 공격력, 상대방의 공격력을 의미합니다. 두 번째 줄에는 $n$개의 정수 $h_1, h_2, \dots, h_n$ ($1 \le h_i \le 10^9$)이 주어집니다. 이는 각 몬스터의 체력입니다.
출력
당신이 얻을 수 있는 승점의 최댓값을 한 정수로 출력하십시오.
예제
입력 1
3 1 1 1 1 1
출력 1
2
입력 2
3 1 1 2 2 2
출력 2
3
입력 3
10 34 100 17 27 73 17 60 12 25 53 31 46
출력 3
5
참고
첫 번째 예제에서, 당신은 첫 번째 차례에 세 번째 몬스터를 죽일 수 있고, 두 번째 차례에 두 번째 몬스터를 죽일 수 있습니다. 두 번째 예제에서, 당신은 가장 왼쪽에 있는 몬스터의 체력이 $h_i = 1$이 될 때까지 기다렸다가 직접 죽일 수 있습니다.