#include <iostream>
#include <fstream>
#include <algorithm>
#include <iomanip>
#include <string>
#include <cmath>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <queue>
#include <math.h>
#include <stack>
#include <algorithm>
#include <utility>
#include <set>
#define ll long long
#define endl '\n'
#define EPS 1e-15
const ll N = 1e6 + 5;
#define watch(x) cout << #x << " = " << x << endl;
#define all(v) (v).begin(),(v).end()
//cout<<fixed<<setprecision(6);
using namespace std;
void fast() {
std::ios_base::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
}
/*void file()
{
#ifndef ONLINE_JUDGE
freopen("mex.in", "r", stdin) ;
// freopen("output.txt", "w", stdout) ;
#endif
}*/
int dx[] = { 0, 0, 1, -1, 1, -1, 1, -1 }; // dir array
int dy[] = { 1, -1, 0, 0, 1, -1, -1, 1 };
ll a[N], b[N],c[N], freq[10000], freq2[26], rght[N], lft[N], y[N];
ll mod = 1e9 + 7;
string s ;
void printnum(int num ){
if (num <=1){
cout << num ;
return ;
}
printnum(num/2) ;
cout <<num%2 ;
}
int getbit(int num , int idx){
return (num >> idx) & 1 ;
}
int setbit1(int num , int idx){
return num | (1 << idx ) ;
}
int setbit0(int num , int idx){
return num & ~(1 << idx) ;
}
int flibbit(int num , int idx){
return num ^ (1 << idx) ;
}
int firstOne(int num){
if (num == 0) {
return 0;
} else {
int posfri1 = 0;
for (int i = 0; i < 32; i++) {
if (!(num & (1 << i)))
posfri1++;
else
break;
}
return posfri1;
}
}
int firstZero(int num){
if (num == 0) {
return 0;
} else {
int posfri0 = 0;
for (int i = 0; i < 32; i++) {
if ((num & (1 << i)))
posfri0++;
else
break;
}
return posfri0;
}
}
ll n , p , q ;
bool ok (ll mid){
ll x = mid * q ;
ll need = 0 ;
for (int i=0;i<n;i++){
b[i] = a[i] - x ;
}
for (int i=0;i<n;i++){
if(p==q){
return false ;
break;
}
if (b[i] > 0){
need+=(b[i]+(p-q)-1) /(p-q) ;
}
}
if (need <= mid )
return true ;
else
return false ;
}
int main() {
fast();
cin >> n >> p >> q ;
for (int i=0;i<n;i++){
cin >> a[i] ;
}
sort(a,a+n) ;
ll l = 0 , r= 1e12 , mid , ans ;
while (l <= r){
mid = (l+r)/2 ;
if (ok(mid)){
ans = mid ;
r=mid-1 ;
}else {
l=mid+1 ;
}
}
cout << ans ;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+CiNpbmNsdWRlIDx1bm9yZGVyZWRfc2V0PgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxtYXRoLmg+CiNpbmNsdWRlIDxzdGFjaz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDxzZXQ+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgRVBTIDFlLTE1CmNvbnN0IGxsIE4gPSAxZTYgKyA1OwojZGVmaW5lIHdhdGNoKHgpIGNvdXQgPDwgI3ggPDwgIiA9ICIgPDwgeCA8PCBlbmRsOwojZGVmaW5lIGFsbCh2KSAodikuYmVnaW4oKSwodikuZW5kKCkKLy9jb3V0PDxmaXhlZDw8c2V0cHJlY2lzaW9uKDYpOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2b2lkIGZhc3QoKSB7CglzdGQ6Omlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CgljaW4udGllKE5VTEwpOwoJY291dC50aWUoTlVMTCk7Cn0KLyp2b2lkIGZpbGUoKQogewogI2lmbmRlZiBPTkxJTkVfSlVER0UKIGZyZW9wZW4oIm1leC5pbiIsICJyIiwgc3RkaW4pIDsKIC8vIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCkgOwogI2VuZGlmCiB9Ki8KaW50IGR4W10gPSB7IDAsIDAsIDEsIC0xLCAxLCAtMSwgMSwgLTEgfTsgLy8gZGlyIGFycmF5CmludCBkeVtdID0geyAxLCAtMSwgMCwgMCwgMSwgLTEsIC0xLCAxIH07CmxsIGFbTl0sIGJbTl0sY1tOXSwgZnJlcVsxMDAwMF0sIGZyZXEyWzI2XSwgcmdodFtOXSwgbGZ0W05dLCB5W05dOwogCmxsIG1vZCA9IDFlOSArIDc7CnN0cmluZyBzIDsKdm9pZCBwcmludG51bShpbnQgbnVtICl7CglpZiAobnVtIDw9MSl7CgkJY291dCA8PCBudW0gOwoJCXJldHVybiA7Cgl9CglwcmludG51bShudW0vMikgOwoJY291dCA8PG51bSUyIDsKfQppbnQgZ2V0Yml0KGludCBudW0gLCBpbnQgaWR4KXsKCXJldHVybiAobnVtID4+IGlkeCkgJiAxIDsKfQppbnQgc2V0Yml0MShpbnQgbnVtICwgaW50IGlkeCl7CglyZXR1cm4gbnVtIHwgKDEgPDwgaWR4ICkgOwp9CmludCBzZXRiaXQwKGludCBudW0gLCBpbnQgaWR4KXsKCXJldHVybiBudW0gJiB+KDEgPDwgaWR4KSA7Cn0KaW50IGZsaWJiaXQoaW50IG51bSAsIGludCBpZHgpewoJcmV0dXJuIG51bSBeICgxIDw8IGlkeCkgOwp9CmludCBmaXJzdE9uZShpbnQgbnVtKXsKCWlmIChudW0gPT0gMCkgewoJCXJldHVybiAwOwoJfSBlbHNlIHsKCQlpbnQgcG9zZnJpMSA9IDA7CgkJZm9yIChpbnQgaSA9IDA7IGkgPCAzMjsgaSsrKSB7CgkJCWlmICghKG51bSAmICgxIDw8IGkpKSkKCQkJCXBvc2ZyaTErKzsKCQkJZWxzZQoJCQkJYnJlYWs7CgkJfQoJCXJldHVybiBwb3NmcmkxOwoJfQp9CmludCBmaXJzdFplcm8oaW50IG51bSl7CglpZiAobnVtID09IDApIHsKCQlyZXR1cm4gMDsKCX0gZWxzZSB7CgkJaW50IHBvc2ZyaTAgPSAwOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgMzI7IGkrKykgewoJCQlpZiAoKG51bSAmICgxIDw8IGkpKSkKCQkJCXBvc2ZyaTArKzsKCQkJZWxzZQoJCQkJYnJlYWs7CgkJfQoJCXJldHVybiBwb3NmcmkwOwoJfQp9CmxsIG4gLCBwICwgcSA7CmJvb2wgb2sgKGxsIG1pZCl7CglsbCB4ID0gbWlkICogcSA7CiAgICBsbCAgbmVlZCA9IDAgOwoJZm9yIChpbnQgaT0wO2k8bjtpKyspewoJCWJbaV0gPSBhW2ldIC0geCA7Cgl9Cglmb3IgKGludCBpPTA7aTxuO2krKyl7CgkJaWYocD09cSl7CgkJCXJldHVybiBmYWxzZSA7CgkJCWJyZWFrOwoJCX0KCQlpZiAoYltpXSA+IDApewoJCQluZWVkKz0oYltpXSsocC1xKS0xKSAvKHAtcSkgOwoJCX0KIAoJfQoJaWYgKG5lZWQgPD0gbWlkICkKCQlyZXR1cm4gdHJ1ZSA7CgllbHNlCgkJcmV0dXJuIGZhbHNlIDsKfQppbnQgbWFpbigpIHsKCWZhc3QoKTsKIAogICAgY2luID4+IG4gPj4gcCA+PiBxIDsKICAgIGZvciAoaW50IGk9MDtpPG47aSsrKXsKICAgIAljaW4gPj4gYVtpXSA7CiAgICB9CiAgICBzb3J0KGEsYStuKSA7CiAgICBsbCBsID0gMCAsIHI9IDFlMTIgLCBtaWQgLCBhbnMgOwogICAgd2hpbGUgKGwgPD0gcil7CiAgICAJbWlkID0gKGwrcikvMiA7CiAgICAJaWYgKG9rKG1pZCkpewogICAgCQlhbnMgPSBtaWQgOwogICAgCQlyPW1pZC0xIDsKICAgIAl9ZWxzZSB7CiAgICAJCWw9bWlkKzEgOwogICAgCX0KICAgIH0KICAgIGNvdXQgPDwgYW5zIDsKCXJldHVybiAwOwp9