#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 = '-';
        puts(p);
    return 0;
}

int main() {
    int r;
    r = naive_show_int(123456789);
    printf("r = %d\n", r);
    r = naive_show_int(-123456789);
    printf("r = %d\n", r);
    r = naive_show_int(0x80000000);
    printf("r = %d\n", r);
    return 0;
}