#include <iostream>
#include <cstdlib>
#include <vector>
using namespace std;
int main()
{
const long n = 2025;
vector<vector<long> > dp(n, vector<long>(n, 0));
dp [1] [1] = 1;
for(long i = 2; i < n; ++i)
{
dp [1] [i] = dp [1] [i - 1] + i;
dp [i] [1] = dp [i - 1] [1] + i;
}
int k = 0, l = 0;
long delta = 2000001;
for(long i = 2; i < n; ++i)
for(long j = 2; j < n; ++j)
{
dp [i] [j] = dp [i - 1] [j] + dp [i] [j - 1] - dp [i - 1] [j - 1] + i * j;
if(abs(2000000 - dp [i] [j]) < delta)
{
k = i;
l = j;
delta = abs(2000000 - dp [k] [l]);
}
if(dp [i] [j] > 2000000)
break;
}
cout << k * l << ' ' << dp [k] [l] << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPHZlY3Rvcj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKCWNvbnN0IGxvbmcgbiA9IDIwMjU7Cgl2ZWN0b3I8dmVjdG9yPGxvbmc+ID4gZHAobiwgdmVjdG9yPGxvbmc+KG4sIDApKTsKCWRwIFsxXSBbMV0gPSAxOwoJZm9yKGxvbmcgaSA9IDI7IGkgPCBuOyArK2kpCgl7CgkJZHAgWzFdIFtpXSA9IGRwIFsxXSBbaSAtIDFdICsgaTsKCQlkcCBbaV0gWzFdID0gZHAgW2kgLSAxXSBbMV0gKyBpOwoJfQoJaW50IGsgPSAwLCBsID0gMDsKCWxvbmcgZGVsdGEgPSAyMDAwMDAxOwoJZm9yKGxvbmcgaSA9IDI7IGkgPCBuOyArK2kpCgkJZm9yKGxvbmcgaiA9IDI7IGogPCBuOyArK2opCgkJewoJICAgICAgICAJZHAgW2ldIFtqXSA9IGRwIFtpIC0gMV0gW2pdICsgZHAgW2ldIFtqIC0gMV0gLSBkcCBbaSAtIDFdIFtqIC0gMV0gKyBpICogajsKCSAgICAgICAgCWlmKGFicygyMDAwMDAwIC0gZHAgW2ldIFtqXSkgPCBkZWx0YSkKCSAgICAgICAgCXsKCSAgICAgICAgCQlrID0gaTsKCSAgICAgICAgCQlsID0gajsKCSAgICAgICAgCQlkZWx0YSA9IGFicygyMDAwMDAwIC0gZHAgW2tdIFtsXSk7CgkgICAgICAgIAl9CgkJCWlmKGRwIFtpXSBbal0gPiAyMDAwMDAwKQoJCQkJYnJlYWs7CgkJfQoJY291dCA8PCBrICogbCA8PCAnICcgPDwgZHAgW2tdIFtsXSA8PCBlbmRsOwoJcmV0dXJuIDA7Cn0=