#include<bits/stdc++.h>
#define f1(i, n) for(ll i=1;i<=n;++i)
#define f0(i, n) for(ll i=0;i<n;++i)
#define ull unsigned long long
#define ll long long
#define rev(a) reverse(a.begin(),a.end())
#define all(x) x.begin(),x.end()
#define so(A, n) sort(A+1, A+n+1)
using namespace std;
const int maxn = 200010;
const int N = 1e6 + 1;
void solve1() {
ll x1, x2, x3, x4;
ll y, res = 0;
cin >> x1 >> x2 >> x3 >> x4 >> y;
res += (min(y, 50ll) * x1); y = max(0ll, y - 50);
res += (min(y, 50ll) * x2); y = max(0ll, y - 50);
res += (min(y, 100ll) * x3); y = max(0ll, y - 100);
res += y * x4;
cout << res;
}
int D[N];
void sanguoc() {
for (int i = 1; i <= sqrt(N); ++i) {
for (int j = 1; j <= N / i; ++j) {
D[j * i]++;
}
}
}
void solve2() {
sanguoc();
int n;
cin >> n;
int res = 0, x;
f1(i, n) {cin >> x; res = max(res, D[x]);}
cout << res;
}
void solve3() {
ll sum = 0;
ll n, chan = 0, le = 0, x;
cin >> n;
f1(i, n) {
cin >> x;
if (x % 2 == 0) chan++;
else le++;
sum += x;
}
if (sum % 2 == 0) {
cout << (chan * (chan - 1) / 2) + (le * (le - 1) / 2);
}
else {
cout << le * chan;
}
}
void solve4() {
ll n, k;
cin >> n >> k;
map<int, int> y;
int x[n + 1];
f1(i, n) {
cin >> x[i] >> y[x[i]];
}
if (n <= 1e3) {
int cnt, ma = 0;
for (int i = 1; i <= 1e3; ++i) {
cnt = 0;
for (int j = max(1ll, i - k); j <= i + k; ++j) {
cnt += y[j];
}
ma = max(ma, cnt);
}
cout << ma;
}
else
{
ll T[n + 1];
T[0] = 0;
sort(x + 1, x + n + 1);
f1(i, n) T[i] = T[i - 1] + y[x[i]];
ll ma = 0;
for (int i = 1; i <= n; ++i) {
int vt = upper_bound(x + 1, x + n + 1, x[i] + 2 * k) - x - 1;
ma = max(ma, T[vt] - T[i - 1]);
}
cout << ma;
}
}
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
// freopen("pay.inp","r",stdin);
// freopen("pay.out","w",stdout);
// solve1();
// solve2();
// solve3();
// solve4();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBmMShpLCBuKSBmb3IobGwgaT0xO2k8PW47KytpKQojZGVmaW5lIGYwKGksIG4pIGZvcihsbCBpPTA7aTxuOysraSkKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcmV2KGEpIHJldmVyc2UoYS5iZWdpbigpLGEuZW5kKCkpCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSx4LmVuZCgpCiNkZWZpbmUgc28oQSwgbikgc29ydChBKzEsIEErbisxKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgbWF4biA9IDIwMDAxMDsKY29uc3QgaW50IE4gPSAxZTYgKyAxOwp2b2lkIHNvbHZlMSgpIHsKCWxsIHgxLCB4MiwgeDMsIHg0OwoJbGwgeSwgcmVzID0gMDsKCWNpbiA+PiB4MSA+PiB4MiA+PiB4MyA+PiB4NCA+PiB5OwoJcmVzICs9IChtaW4oeSwgNTBsbCkgKiB4MSk7ICAgICAgeSA9IG1heCgwbGwsIHkgLSA1MCk7CglyZXMgKz0gKG1pbih5LCA1MGxsKSAqIHgyKTsgICAgICB5ID0gbWF4KDBsbCwgeSAtIDUwKTsKCXJlcyArPSAobWluKHksIDEwMGxsKSAqIHgzKTsgICAgIHkgPSBtYXgoMGxsLCB5IC0gMTAwKTsKCXJlcyArPSB5ICogeDQ7Cgljb3V0IDw8IHJlczsKfQppbnQgRFtOXTsKdm9pZCBzYW5ndW9jKCkgewoJZm9yIChpbnQgaSA9IDE7IGkgPD0gc3FydChOKTsgKytpKSB7CgkJZm9yIChpbnQgaiA9IDE7IGogPD0gTiAvIGk7ICsraikgewoJCQlEW2ogKiBpXSsrOwoJCX0KCX0KfQp2b2lkIHNvbHZlMigpIHsKCXNhbmd1b2MoKTsKCWludCBuOwoJY2luID4+IG47CglpbnQgcmVzID0gMCwgeDsKCWYxKGksIG4pIHtjaW4gPj4geDsgcmVzID0gbWF4KHJlcywgRFt4XSk7fQoJY291dCA8PCByZXM7Cn0Kdm9pZCBzb2x2ZTMoKSB7CglsbCBzdW0gPSAwOwoJbGwgbiwgY2hhbiA9IDAsIGxlID0gMCwgeDsKCWNpbiA+PiBuOwoJZjEoaSwgbikgewoJCWNpbiA+PiB4OwoJCWlmICh4ICUgMiA9PSAwKSBjaGFuKys7CgkJZWxzZSBsZSsrOwoJCXN1bSArPSB4OwoJfQoJaWYgKHN1bSAlIDIgPT0gMCkgewoJCWNvdXQgPDwgKGNoYW4gKiAoY2hhbiAtIDEpIC8gMikgKyAobGUgKiAobGUgLSAxKSAvIDIpOwoJfQoJZWxzZSB7CgkJY291dCA8PCBsZSAqIGNoYW47Cgl9Cn0Kdm9pZCBzb2x2ZTQoKSB7CglsbCBuLCBrOwoJY2luID4+IG4gPj4gazsKCW1hcDxpbnQsIGludD4geTsKCWludCB4W24gKyAxXTsKCWYxKGksIG4pIHsKCQljaW4gPj4geFtpXSA+PiB5W3hbaV1dOwoJfQoJaWYgKG4gPD0gMWUzKSB7CgkJaW50IGNudCwgbWEgPSAwOwoJCWZvciAoaW50IGkgPSAxOyBpIDw9IDFlMzsgKytpKSB7CgkJCWNudCA9IDA7CgkJCWZvciAoaW50IGogPSBtYXgoMWxsLCBpIC0gayk7IGogPD0gaSArIGs7ICsraikgewoJCQkJY250ICs9IHlbal07CgkJCX0KCQkJbWEgPSBtYXgobWEsIGNudCk7CgkJfQoJCWNvdXQgPDwgbWE7Cgl9CgllbHNlCgl7CgkJbGwgVFtuICsgMV07CgkJVFswXSA9IDA7CgkJc29ydCh4ICsgMSwgeCArIG4gKyAxKTsKCQlmMShpLCBuKSBUW2ldID0gVFtpIC0gMV0gKyB5W3hbaV1dOwoJCWxsIG1hID0gMDsKCQlmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKCQkJaW50IHZ0ID0gdXBwZXJfYm91bmQoeCArIDEsIHggKyBuICsgMSwgeFtpXSArIDIgKiBrKSAtIHggLSAxOwoJCQltYSA9IG1heChtYSwgVFt2dF0gLSBUW2kgLSAxXSk7CgkJfQoJCWNvdXQgPDwgbWE7Cgl9Cn0KaW50IG1haW4oKQp7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCgkvLyBmcmVvcGVuKCJwYXkuaW5wIiwiciIsc3RkaW4pOwoJLy8gZnJlb3BlbigicGF5Lm91dCIsInciLHN0ZG91dCk7CgkvLyBzb2x2ZTEoKTsKCS8vIHNvbHZlMigpOwoJLy8gc29sdmUzKCk7CgkvLyBzb2x2ZTQoKTsKCglyZXR1cm4gMDsKfQoK