func_code_string: #include <bits/stdc++.h>   unsigned long long mulmod(unsigned long long a, unsigned long long b,                             unsigned long long c) {     unsigned long long x = 0, y = a % c;     while (b > 0) {       if (b % 2 == 1) {         x = (x + y) % c;       }       y = (y * 2) % c;       b /= 2;     }     return x % c;   }   unsigned long long pow(unsigned long long a, unsigned long long b,                          unsigned long long c) {     unsigned long long x = 1, y = a;     while (b > 0) {       if (b & 1) x = mulmod(x, y, c);       y = mulmod(y, y, c);       b >>= 1;     }     return x;   }   bool Miller(unsigned long long p, int iteration) {     if (p < 2) {       return false;     }     if (p != 2 && p % 2 == 0) {       return false;     }     unsigned long long second = p - 1;     while (second % 2 == 0) {       second /= 2;     }     for (int i = 0; i < iteration; i++) {       unsigned long long a = rand() % (p - 1) + 1, temp = second;       unsigned long long mod = pow(a, temp, p);       while (temp != p - 1 && mod != 1 && mod != p - 1) {         mod = mulmod(mod, mod, p);         temp *= 2;       }       if (mod != p - 1 && temp % 2 == 0) {         return false;       }     }     return true;   }   using namespace std;   int main() {     int n;     scanf( %d , &n);     int pos = 0;     string ans =   ;     string text[2][10] = {{ zero ,  one ,  two ,  three ,  four ,  five ,  six ,                             seven ,  eight ,  nine },                           {  ,  ten- ,  twenty- ,  thirty- ,  forty- ,  fifty- ,                             sixty- ,  seventy- ,  eighty- ,  ninety- }};     string tens[9] = { ten ,    twenty ,   thirty ,  forty ,  fifty ,                        sixty ,  seventy ,  eighty ,  ninety };     if (n % 10 == 0 && n != 0) {       cout << tens[(n / 10) - 1] <<   n ;       return 0;     } else if (n < 20) {       if (n < 10) {         cout << text[0][n] <<   n ;       } else {         switch (n) {           case 11:             cout <<  eleven n ;             break;           case 12:             cout <<  twelve n ;             break;           case 13:             cout <<  thirteen n ;             break;           case 14:             cout <<  fourteen n ;             break;           case 15:             cout <<  fifteen n ;             break;           case 16:             cout <<  sixteen n ;             break;           case 17:             cout <<  seventeen n ;             break;           case 18:             cout <<  eighteen n ;             break;           case 19:             cout <<  nineteen n ;         }       }       return 0;     }     while (n) {       int d = n % 10;       ans.insert(0, text[pos][d]);       pos++;       n /= 10;     }     cout << ans <<   n ;     return 0;   }   