#include <stdio.h>
int naive_show_int(int x) {
char buf[32];
char *p = buf + sizeof(buf);
*--p = 0;
int negative = 0;
if (x < 0) {
x = -x;
negative = 1;
}
while (x > 0) {
if (x <= 0)
return -1;
int digit = '0' + x % 10;
if (digit < '0' || digit > '9')
return -1;
*--p = digit;
x /= 10;
}
if (negative)
*--p = '-';
return 0;
}
int main() {
int r;
r = naive_show_int(123456789);
r = naive_show_int(-123456789);
r = naive_show_int(0x80000000);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbmFpdmVfc2hvd19pbnQoaW50IHgpIHsKICAgIGNoYXIgYnVmWzMyXTsKICAgIGNoYXIgKnAgPSBidWYgKyBzaXplb2YoYnVmKTsKICAgICotLXAgPSAwOwogICAgaW50IG5lZ2F0aXZlID0gMDsKICAgIGlmICh4IDwgMCkgewogICAgICAgIHggPSAteDsKICAgICAgICBuZWdhdGl2ZSA9IDE7CiAgICB9CiAgICB3aGlsZSAoeCA+IDApIHsKICAgICAgICBpZiAoeCA8PSAwKQogICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgaW50IGRpZ2l0ID0gJzAnICsgeCAlIDEwOwogICAgICAgIGlmIChkaWdpdCA8ICcwJyB8fCBkaWdpdCA+ICc5JykKICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICotLXAgPSBkaWdpdDsKICAgICAgICB4IC89IDEwOwogICAgfQogICAgaWYgKG5lZ2F0aXZlKQogICAgICAgICotLXAgPSAnLSc7CiAgICAgICAgcHV0cyhwKTsKICAgIHJldHVybiAwOwp9CgppbnQgbWFpbigpIHsKICAgIGludCByOwogICAgciA9IG5haXZlX3Nob3dfaW50KDEyMzQ1Njc4OSk7CiAgICBwcmludGYoInIgPSAlZFxuIiwgcik7CiAgICByID0gbmFpdmVfc2hvd19pbnQoLTEyMzQ1Njc4OSk7CiAgICBwcmludGYoInIgPSAlZFxuIiwgcik7CiAgICByID0gbmFpdmVfc2hvd19pbnQoMHg4MDAwMDAwMCk7CiAgICBwcmludGYoInIgPSAlZFxuIiwgcik7CiAgICByZXR1cm4gMDsKfQ==