n = input('please enter the number:\n')

dic0 = {
    '1': 'یک',
    '2': 'دو',
    '3': 'سه',
    '4': 'چهار',
    '5': 'پنج',
    '6': 'شش',
    '7': 'هفت',
    '8': 'هشت',
    '9': 'نه',
    '10': 'ده',
    '11': 'یازده',
    '12': 'دوازده',
    '13': 'سیزده',
    '14': 'چهارده',
    '15': 'پانزده',
    '16': 'شانزده',
    '17': 'هفده',
    '18': 'هجده',
    '19': 'نوزده',
    '20': 'بیست',
    '30': 'سی',
    '40': 'چهل',
    '50': 'پنجاه',
    '60': 'شصت',
    '70': 'هفتاد',
    '80': 'هشتاد',
    '90': 'نود',
    '100': 'یکصد',
    '200': 'دویست',
    '300': 'سیصد',
    '400': 'چهارصد',
    '500': 'پانصد',
    '600': 'ششصد',
    '700': 'هفتصد',
    '800': 'هشتصد',
    '900': 'نهصد',
}

dic1 = {
    '0': '',
    '1': 'هزار',
    '2': 'میلیون',
    '3': 'میلیارد',
    '4': 'بیلیون',
    '5': 'بیلیارد',
    '6': 'تریلیون',
    '7': 'تریلیارد',
    '8': 'کوآدریلیون',
    '9': 'کادریلیارد',
    '10': 'کوینتیلیون',
    '11': 'کوانتینیارد',
    '12': 'سکستیلیون',
    '13': 'سکستیلیارد',
    '14': 'سپتیلیون',
    '15': 'سپتیلیارد',
    '16': 'اکتیلیون',
    '17': 'اکتیلیارد',
    '18': 'نانیلیون',
    '19': 'نانیلیارد',
    '20': 'دسیلیون',
    '21': 'دسیلیارد',
    '22': 'آندسیلیون',
    '23': 'آندسیلیارد',
    '24': 'دودسیلیون',
    '25': 'دودسیلیارد',
    '26': 'تریدسیلیون',
    '27': 'تریدسیلیارد',
    '28': 'کوادردسیلیون',
    '29': 'کوادردسیلیارد',
    '30': 'کویندسیلیون',
    '31': 'کویندسیلیارد',
    '32': 'سیدسیلیون',
    '33': 'سیدسیلیارد'
}

def norm(a):
    return dic0[a]

def dahgan(a):
    m0 = a[0] + '0'
    m1 = a[1]
    if m1 == '0':
        return norm(m0)
    elif m0 == '00':
        return norm(m1)
        
    return dic0[m0] + ' و ' + dic0[m1]

def sadgan(a):
    if a == '000':
        return ''
    while a.startswith('0'):
        a = a[1:]
    if a in dic0:
        return dic0[a]
    m0 = a[0]
    m1 = a[1:]
    y = dahgan(m1)
    x = dic0[m0]
    sad = 'صد و '
    if m1 == '00':
        y = ''
    else:
        if m0 == '2':
            return 'دویست و ' + y
        elif m0 == '3':
            return 'سیصد و ' + y
        elif m0 == '5':
            return 'پانصد و ' + y
    return x + sad + y


def hroof3(number):
    if len(number) == 1:
        return norm(number)
    elif len(number) == 2:
        return dahgan(number)
    else:
        return sadgan(number)


def hroof(n):
    x = []
    n = str(n)
    while n:
        if len(n) < 3:
            x.append(n[:])
            break
        x.append(n[-3:])
        n = n[:-3]
    
    if len(x) == 1:
        a = x[0]
        return hroof3(a)
    else:
        y = []
        indx = 0
        for a in x:
            p = hroof3(a)
            if p:
                q = p + ' ' + dic1[str(indx)]
            else:
                q = ''
            y.append(q)
            indx += 1
        y = y[::-1]
        l = ' و '.join(y)

        while l.endswith('و '):
            l = l[:-3]
            
        import re
        l = re.sub('(و  ){1,}', "", l)
        
        return l


print(hroof(n))