#include <iostream>
#include <bits/stdc++.h>
using namespace std;
bool isPalindrome(int num)
{
if (num < 10)
return true;
int leftDigit;
int rightDigit;
int numDigits;
while (num > 9)
{
rightDigit = num % 10;
numDigits = (int)log10(num);
leftDigit = (int)(num / pow(10, numDigits));
cout << "Left: " << leftDigit << " Right: " << rightDigit << endl;
if (leftDigit != rightDigit)
return false;
if (num % 100 == 0)
{
if ((int)(num / pow(10, numDigits - 1)) % 10 != 0)
return false;
else
{
num -= (int)pow(10, numDigits - 1);
num /= 100;
continue;
}
}
num -= (int)pow(10, numDigits);
num /= 10;
}
return true;
}
int main() {
int a = 999, b, maxProd = 0;
cout << isPalindrome(906609) << endl;
/*while (a > 99)
{
b = a;
while (b > 99)
{
int product = a * b;
if (a == 993 && b == 913)
cout << a << " " << b << " " << product << endl;
if (isPalindrome(product))
{
if (product > maxProd)
maxProd = product;
}
b--;
}
a--;
}
cout << maxProd << endl;*/
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4gCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIGlzUGFsaW5kcm9tZShpbnQgbnVtKQp7CglpZiAobnVtIDwgMTApCgkJcmV0dXJuIHRydWU7CgkJCglpbnQgbGVmdERpZ2l0OwoJaW50IHJpZ2h0RGlnaXQ7CglpbnQgbnVtRGlnaXRzOwoJCgl3aGlsZSAobnVtID4gOSkKCXsKCQlyaWdodERpZ2l0ID0gbnVtICUgMTA7CgkJbnVtRGlnaXRzID0gKGludClsb2cxMChudW0pOwoJCWxlZnREaWdpdCA9IChpbnQpKG51bSAvIHBvdygxMCwgbnVtRGlnaXRzKSk7CgkJCgkJY291dCA8PCAiTGVmdDogIiA8PCBsZWZ0RGlnaXQgPDwgIiBSaWdodDogIiA8PCByaWdodERpZ2l0IDw8IGVuZGw7CgkJCgkJaWYgKGxlZnREaWdpdCAhPSByaWdodERpZ2l0KQoJCQlyZXR1cm4gZmFsc2U7CgkJCQoJCWlmIChudW0gJSAxMDAgPT0gMCkKCQl7CgkJCWlmICgoaW50KShudW0gLyBwb3coMTAsIG51bURpZ2l0cyAtIDEpKSAlIDEwICE9IDApCgkJCQlyZXR1cm4gZmFsc2U7CgkJCWVsc2UKCQkJewoJCQkJbnVtIC09IChpbnQpcG93KDEwLCBudW1EaWdpdHMgLSAxKTsKCQkJCW51bSAvPSAxMDA7CgkJCQljb250aW51ZTsKCQkJfQoJCX0KCgkJbnVtIC09IChpbnQpcG93KDEwLCBudW1EaWdpdHMpOwoJCW51bSAvPSAxMDsKCX0KCXJldHVybiB0cnVlOwp9CgppbnQgbWFpbigpIHsKCQoJaW50IGEgPSA5OTksIGIsIG1heFByb2QgPSAwOwoJY291dCA8PCBpc1BhbGluZHJvbWUoOTA2NjA5KSA8PCBlbmRsOwoJLyp3aGlsZSAoYSA+IDk5KQoJewoJCWIgPSBhOwoJCXdoaWxlIChiID4gOTkpCgkJewoJCQlpbnQgcHJvZHVjdCA9IGEgKiBiOwoJCQlpZiAoYSA9PSA5OTMgJiYgYiA9PSA5MTMpCgkJCQkJY291dCA8PCBhIDw8ICIgIiA8PCBiIDw8ICIgIiA8PCBwcm9kdWN0IDw8IGVuZGw7CgkJCWlmIChpc1BhbGluZHJvbWUocHJvZHVjdCkpCgkJCXsKCQkJCQoJCQkJaWYgKHByb2R1Y3QgPiBtYXhQcm9kKQoJCQkJCW1heFByb2QgPSBwcm9kdWN0OwoJCQl9CgkJCWItLTsKCQl9CgkJYS0tOwoJfQoJCgljb3V0IDw8IG1heFByb2QgPDwgZW5kbDsqLwoKCXJldHVybiAwOwp9