void Yomiage1000(int num, unsigned char **buf)
{
    int i, n, d;

    for (i = 27, n = 1000; n; i -= 9, num %= n, n /= 10)
        if((d = num / n) != 0) PrintTok(ct[i + d], buf);
}


unsigned char *Yomiage(int num, unsigned char *buf)
{
    int i, n, d;
    unsigned char *b = buf;

    if (num == 0) Print(ct[0], &b);
    else {
        if(num < 0) PrintTok(ct[39], &b), num = -num;
        for (i = 38, n = 100000000; n; i --, num %= n, n /= 10000)
            if ((d = num / n) != 0) {
                Yomiage1000(d, &b);
                if (1 < n) PrintTok(ct[i], &b);
            }
    }
    *b = '\0';
    return buf;
}