<?php 
 
 
 
$spelling =  [ 0    =>   'ноль' ,                                      10   =>   'десять' ,        100  =>   'сто' , 
    1    =>   'один' ,          11   =>   'одиннадцать' ,       20   =>   'двадцать' ,      200  =>   'двести' , 
    2    =>   'два' ,           12   =>   'двенадцать' ,        30   =>   'тридцать' ,      300  =>   'триста' , 
    3    =>   'три' ,           13   =>   'тринадцать' ,        40   =>   'сорок' ,         400  =>   'четыреста' , 
    4    =>   'четыре' ,        14   =>   'четырнадцать' ,      50   =>   'пятьдесят' ,     500  =>   'пятьсот' , 
    5    =>   'пять' ,          15   =>   'пятнадцать' ,        60   =>   'шестьдесят' ,    600  =>   'шестьсот' , 
    6    =>   'шесть' ,         16   =>   'шестнадцать' ,       70   =>   'семьдесят' ,     700  =>   'семьсот' , 
    7    =>   'семь' ,          17   =>   'семнадцать' ,        80   =>   'восемьдесят' ,    800  =>   'восемьсот' , 
    8    =>   'восемь' ,        18   =>   'восемнадцать' ,      90   =>   'девяносто' ,      900  =>   'девятьсот' , 
    9    =>   'девять' ,        19   =>   'девятнадцать'     ] ; 
$spellingForFemaleGenus =  [ 1 => 'одна' ,  2 => 'две' ] ; 
 
function  n_to_groups( $n ) 
{ 
    $partsArray  =  [ ] ; 
    for  ( $i  =  $n ;  $i  >  0 ; )  { 
        $part  =  $i  %  1000 ; 
        $partsArray [ ]  =  $part ; 
    } 
    return  $partsArray ; 
} 
 
function  small_number_to_text ( $n ,  $gen ) { 
    global  $spelling ; 
    global  $spellingForFemaleGenus ; 
    if  ( $i != 0 )  { 
       $i  =  $i * 100 ; 
        $iSpelling  =  $spelling [ $i ] ; 
    } 
       else  { 
             $iSpelling  =  null ; 
      } 
    if  ( ( $n % 100 ) > 19 )  { 
         $j  =  10  *  ( floor ( (  $n % 100 )  /  10 ) ) ;         $jSpelling  =  $spelling [ $j ] ; 
    } 
      elseif  ( ( $n % 100 ) < 20  and ( $n % 100 ) >= 10 ) { 
           $j  =  $n  %  100 ; 
           $jSpelling  =  $spelling [ $j ] ; 
      } 
    elseif  ( ( $n % 100 ) < 10 ) { 
         $jSpelling = null ; 
    } 
     if  ( $n % 100 >= 10  and $n % 100 <= 19 ) { 
        $k = null ; 
    } 
      else  { 
      $k  =  $n  %  10 ; 
     } 
    if  ( $k > 0 ) { 
      $kSpelling = $spelling [ $k ] ; 
     } 
    if  ( ( $k == 1  and $gen == 1 )  or ( $k == 2  and $gen == 1 ) ) { 
       $kSpelling = $spellingForFemaleGenus [ $k ] ; 
    } 
      elseif  ( $k == 0 ) { 
       $kSpelling = null ; 
    } 
     $smallNInText = '' ; 
    if  ( $iSpelling ) { 
        $smallNInText = $smallNInText  .  $iSpelling  .  ' ' ; 
     } 
    if  ( $jSpelling ) { 
        $smallNInText = $smallNInText  .  $jSpelling  .  ' ' ; 
     } 
    if  ( $kSpelling ) { 
        $smallNInText = $smallNInText  .  $kSpelling  .  ' ' ; 
     } 
    return  $smallNInText ; 
} 
 
function  word_form ( $n , $form1 , $form2 , $form3 ) { 
   $i = $n % 10 ; 
   $j = $n % 100 ; 
           if  ( $n  =  false )  { 
               $wordForm  =  null ; 
           }  elseif  ( $i  ==  1 )  { 
               $wordForm  =  $form1 ; 
           }  elseif  ( $i  >=  2  and $i  <=  4 )  { 
               $wordForm  =  $form2 ; 
           }  elseif  ( $i  ==  0  or $i  >=  5 )  { 
               $wordForm  =  $form3 ; 
           } 
               if  ( $j >= 10  and $j <= 20 )  { 
                   $wordForm  =  $form3 ; 
       } 
    return  $wordForm ; 
} 
 
function  number_to_text ( $n ) { 
    $partsArray =  n_to_groups ( $n ) ; 
    if  ( $partsArray [ 2 ] )  { 
        $millionsToText  =  small_number_to_text( $partsArray [ 2 ] ,  0 )  .  word_form( $partsArray [ 2 ] ,  "миллион" ,  "миллиона" ,  "миллионов" ) ; 
    } 
        elseif  ( $partsArray [ 2 ] = false ) { 
        $millionsToText = null ; 
    } 
 
    if  ( $partsArray [ 1 ] )  { 
        $thousandToText =  small_number_to_text( $partsArray [ 1 ] ,  1 )  .  word_form( $partsArray [ 1 ] ,  "тысяча" , "тысячи" ,  "тысяч" ) ; 
    } 
    elseif  ( $partsArray [ 1 ] = false ) { 
        $thousandToText = null ; 
    } 
    if  ( $partsArray [ 0 ] )  { 
        $roublesToText =  small_number_to_text( $partsArray [ 0 ] ,  0 )  .  word_form( $partsArray [ 0 ] ,  "рубль" ,  "рубля" ,  "рублей" ) ; 
    } 
    elseif  ( $partsArray [ 0 ] = false )  { 
        $roublesToText =  word_form( 0 ,  "рубль" ,  "рубля" ,  "рублей" ) ; 
    } 
    elseif  ( $partsArray [ 0 ] == 0 )  { 
        $roublesToText =  "ноль рублей" ; 
    } 
    $numberToText =  '' ; 
    if  ( $millionsToText ) { 
        $numberToText = $numberToText  .  ' '  .  $millionsToText ; 
    } 
    if  ( $thousandToText ) { 
        $numberToText = $numberToText  .  ' '  .  $thousandToText ; 
    } 
    if  ( $roublesToText ) { 
        $numberToText = $numberToText  .  ' '  .  $roublesToText ; 
    } 
    return  $numberToText ; 
} 
 
$test1 =  number_to_text
( mt_rand ( 0 , 999999999 ) ) ; echo  "На Вашем счету$test1 \n " ; 
$test2 =  number_to_text
( mt_rand ( 0 , 999999999 ) ) ; echo  "На Вашем счету$test2 \n " ; 
$test3 =  number_to_text
( mt_rand ( 0 , 999999999 ) ) ; echo  "На Вашем счету$test3 \n " ; 
 
				PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKCiRzcGVsbGluZz0gWzAgICA9PiAgJ9C90L7Qu9GMJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAgID0+ICAn0LTQtdGB0Y/RgtGMJywgICAgICAgMTAwID0+ICAn0YHRgtC+JywKICAgIDEgICA9PiAgJ9C+0LTQuNC9JywgICAgICAgICAxMSAgPT4gICfQvtC00LjQvdC90LDQtNGG0LDRgtGMJywgICAgICAyMCAgPT4gICfQtNCy0LDQtNGG0LDRgtGMJywgICAgIDIwMCA9PiAgJ9C00LLQtdGB0YLQuCcsCiAgICAyICAgPT4gICfQtNCy0LAnLCAgICAgICAgICAxMiAgPT4gICfQtNCy0LXQvdCw0LTRhtCw0YLRjCcsICAgICAgIDMwICA9PiAgJ9GC0YDQuNC00YbQsNGC0YwnLCAgICAgMzAwID0+ICAn0YLRgNC40YHRgtCwJywKICAgIDMgICA9PiAgJ9GC0YDQuCcsICAgICAgICAgIDEzICA9PiAgJ9GC0YDQuNC90LDQtNGG0LDRgtGMJywgICAgICAgNDAgID0+ICAn0YHQvtGA0L7QuicsICAgICAgICA0MDAgPT4gICfRh9C10YLRi9GA0LXRgdGC0LAnLAogICAgNCAgID0+ICAn0YfQtdGC0YvRgNC1JywgICAgICAgMTQgID0+ICAn0YfQtdGC0YvRgNC90LDQtNGG0LDRgtGMJywgICAgIDUwICA9PiAgJ9C/0Y/RgtGM0LTQtdGB0Y/RgicsICAgIDUwMCA9PiAgJ9C/0Y/RgtGM0YHQvtGCJywKICAgIDUgICA9PiAgJ9C/0Y/RgtGMJywgICAgICAgICAxNSAgPT4gICfQv9GP0YLQvdCw0LTRhtCw0YLRjCcsICAgICAgIDYwICA9PiAgJ9GI0LXRgdGC0YzQtNC10YHRj9GCJywgICA2MDAgPT4gICfRiNC10YHRgtGM0YHQvtGCJywKICAgIDYgICA9PiAgJ9GI0LXRgdGC0YwnLCAgICAgICAgMTYgID0+ICAn0YjQtdGB0YLQvdCw0LTRhtCw0YLRjCcsICAgICAgNzAgID0+ICAn0YHQtdC80YzQtNC10YHRj9GCJywgICAgNzAwID0+ICAn0YHQtdC80YzRgdC+0YInLAogICAgNyAgID0+ICAn0YHQtdC80YwnLCAgICAgICAgIDE3ICA9PiAgJ9GB0LXQvNC90LDQtNGG0LDRgtGMJywgICAgICAgODAgID0+ICAn0LLQvtGB0LXQvNGM0LTQtdGB0Y/RgicsICAgODAwID0+ICAn0LLQvtGB0LXQvNGM0YHQvtGCJywKICAgIDggICA9PiAgJ9Cy0L7RgdC10LzRjCcsICAgICAgIDE4ICA9PiAgJ9Cy0L7RgdC10LzQvdCw0LTRhtCw0YLRjCcsICAgICA5MCAgPT4gICfQtNC10LLRj9C90L7RgdGC0L4nLCAgICAgOTAwID0+ICAn0LTQtdCy0Y/RgtGM0YHQvtGCJywKICAgIDkgICA9PiAgJ9C00LXQstGP0YLRjCcsICAgICAgIDE5ICA9PiAgJ9C00LXQstGP0YLQvdCw0LTRhtCw0YLRjCcgICAgXTsKJHNwZWxsaW5nRm9yRmVtYWxlR2VudXM9IFsxPT4n0L7QtNC90LAnLCAyPT4n0LTQstC1J107CgpmdW5jdGlvbiBuX3RvX2dyb3VwcygkbikKewogICAgJHBhcnRzQXJyYXkgPSBbXTsKICAgIGZvciAoJGkgPSAkbjsgJGkgPiAwOykgewogICAgICAgICRwYXJ0ID0gJGkgJSAxMDAwOwogICAgICAgICRwYXJ0c0FycmF5W10gPSAkcGFydDsKICAgICAgICAkaSA9IGZsb29yKCRpIC8gMTAwMCk7CiAgICB9CiAgICByZXR1cm4gJHBhcnRzQXJyYXk7Cn0KCmZ1bmN0aW9uIHNtYWxsX251bWJlcl90b190ZXh0ICgkbiwgJGdlbil7CiAgICBnbG9iYWwgJHNwZWxsaW5nOwogICAgZ2xvYmFsICRzcGVsbGluZ0ZvckZlbWFsZUdlbnVzOwogICAgJGk9Zmxvb3IoJG4vMTAwKTsKICAgIGlmICgkaSE9MCkgewogICAgICAgJGkgPSAkaSoxMDA7CiAgICAgICAgJGlTcGVsbGluZyA9ICRzcGVsbGluZ1skaV07CiAgICB9CiAgICAgICBlbHNlIHsKICAgICAgICAgICAgICRpU3BlbGxpbmcgPSBudWxsOwogICAgICB9CiAgICBpZiAoKCRuJTEwMCk+MTkpIHsKICAgICAgICAgJGogPSAxMCAqIChmbG9vcigoICRuJTEwMCkgLyAxMCkpOwogICAgICAgJGpTcGVsbGluZyA9ICRzcGVsbGluZ1skal07CiAgICB9CiAgICAgIGVsc2VpZiAoKCRuJTEwMCk8MjAgYW5kICgkbiUxMDApPj0xMCl7CiAgICAgICAgICAgJGogPSAkbiAlIDEwMDsKICAgICAgICAgICAkalNwZWxsaW5nID0gJHNwZWxsaW5nWyRqXTsKICAgICAgfQogICAgZWxzZWlmICgoJG4lMTAwKTwxMCl7CiAgICAgICAgICRqU3BlbGxpbmc9bnVsbDsKICAgIH0KICAgICBpZiAoJG4lMTAwPj0xMCBhbmQgJG4lMTAwPD0xOSl7CiAgICAgICAgJGs9bnVsbDsKICAgIH0KICAgICAgZWxzZSB7CiAgICAgICRrID0gJG4gJSAxMDsKICAgICB9CiAgICBpZiAoJGs+MCl7CiAgICAgICRrU3BlbGxpbmc9JHNwZWxsaW5nWyRrXTsKICAgICB9CiAgICBpZiAoKCRrPT0xIGFuZCAkZ2VuPT0xKSBvciAoJGs9PTIgYW5kICRnZW49PTEpKXsKICAgICAgICRrU3BlbGxpbmc9JHNwZWxsaW5nRm9yRmVtYWxlR2VudXNbJGtdOwogICAgfQogICAgICBlbHNlaWYgKCRrPT0wKXsKICAgICAgICRrU3BlbGxpbmc9bnVsbDsKICAgIH0KICAgICAkc21hbGxOSW5UZXh0PScnOwogICAgaWYgKCRpU3BlbGxpbmcpewogICAgICAgICRzbWFsbE5JblRleHQ9JHNtYWxsTkluVGV4dCAuICRpU3BlbGxpbmcgLiAnICc7CiAgICAgfQogICAgaWYgKCRqU3BlbGxpbmcpewogICAgICAgICRzbWFsbE5JblRleHQ9JHNtYWxsTkluVGV4dCAuICRqU3BlbGxpbmcgLiAnICc7CiAgICAgfQogICAgaWYgKCRrU3BlbGxpbmcpewogICAgICAgICRzbWFsbE5JblRleHQ9JHNtYWxsTkluVGV4dCAuICRrU3BlbGxpbmcgLiAnICc7CiAgICAgfQogICAgcmV0dXJuICRzbWFsbE5JblRleHQ7Cn0KCmZ1bmN0aW9uIHdvcmRfZm9ybSAoJG4sJGZvcm0xLCRmb3JtMiwkZm9ybTMpewogICAkaT0kbiUxMDsKICAgJGo9JG4lMTAwOwogICAgICAgICAgIGlmICgkbiA9IGZhbHNlKSB7CiAgICAgICAgICAgICAgICR3b3JkRm9ybSA9IG51bGw7CiAgICAgICAgICAgfSBlbHNlaWYgKCRpID09IDEpIHsKICAgICAgICAgICAgICAgJHdvcmRGb3JtID0gJGZvcm0xOwogICAgICAgICAgIH0gZWxzZWlmICgkaSA+PSAyIGFuZCAkaSA8PSA0KSB7CiAgICAgICAgICAgICAgICR3b3JkRm9ybSA9ICRmb3JtMjsKICAgICAgICAgICB9IGVsc2VpZiAoJGkgPT0gMCBvciAkaSA+PSA1KSB7CiAgICAgICAgICAgICAgICR3b3JkRm9ybSA9ICRmb3JtMzsKICAgICAgICAgICB9CiAgICAgICAgICAgICAgIGlmICgkaj49MTAgYW5kICRqPD0yMCkgewogICAgICAgICAgICAgICAgICAgJHdvcmRGb3JtID0gJGZvcm0zOwogICAgICAgfQogICAgcmV0dXJuICR3b3JkRm9ybTsKfQoKZnVuY3Rpb24gbnVtYmVyX3RvX3RleHQgKCRuKXsKICAgICRwYXJ0c0FycmF5PSBuX3RvX2dyb3VwcyAoJG4pOwogICAgaWYgKCRwYXJ0c0FycmF5WzJdKSB7CiAgICAgICAgJG1pbGxpb25zVG9UZXh0ID0gc21hbGxfbnVtYmVyX3RvX3RleHQoJHBhcnRzQXJyYXlbMl0sIDApIC4gd29yZF9mb3JtKCRwYXJ0c0FycmF5WzJdLCAi0LzQuNC70LvQuNC+0L0iLCAi0LzQuNC70LvQuNC+0L3QsCIsICLQvNC40LvQu9C40L7QvdC+0LIiKTsKICAgIH0KICAgICAgICBlbHNlaWYgKCRwYXJ0c0FycmF5WzJdPWZhbHNlKXsKICAgICAgICAkbWlsbGlvbnNUb1RleHQ9bnVsbDsKICAgIH0KCiAgICBpZiAoJHBhcnRzQXJyYXlbMV0pIHsKICAgICAgICAkdGhvdXNhbmRUb1RleHQ9IHNtYWxsX251bWJlcl90b190ZXh0KCRwYXJ0c0FycmF5WzFdLCAxKSAuIHdvcmRfZm9ybSgkcGFydHNBcnJheVsxXSwgItGC0YvRgdGP0YfQsCIsItGC0YvRgdGP0YfQuCIsICLRgtGL0YHRj9GHIik7CiAgICB9CiAgICBlbHNlaWYgKCRwYXJ0c0FycmF5WzFdPWZhbHNlKXsKICAgICAgICAkdGhvdXNhbmRUb1RleHQ9bnVsbDsKICAgIH0KICAgIGlmICgkcGFydHNBcnJheVswXSkgewogICAgICAgICRyb3VibGVzVG9UZXh0PSBzbWFsbF9udW1iZXJfdG9fdGV4dCgkcGFydHNBcnJheVswXSwgMCkgLiB3b3JkX2Zvcm0oJHBhcnRzQXJyYXlbMF0sICLRgNGD0LHQu9GMIiwgItGA0YPQsdC70Y8iLCAi0YDRg9Cx0LvQtdC5Iik7CiAgICB9CiAgICBlbHNlaWYgKCRwYXJ0c0FycmF5WzBdPWZhbHNlKSB7CiAgICAgICAgJHJvdWJsZXNUb1RleHQ9IHdvcmRfZm9ybSgwLCAi0YDRg9Cx0LvRjCIsICLRgNGD0LHQu9GPIiwgItGA0YPQsdC70LXQuSIpOwogICAgfQogICAgZWxzZWlmICgkcGFydHNBcnJheVswXT09MCkgewogICAgICAgICRyb3VibGVzVG9UZXh0PSAi0L3QvtC70Ywg0YDRg9Cx0LvQtdC5IjsKICAgIH0KICAgICRudW1iZXJUb1RleHQ9ICcnOwogICAgaWYgKCRtaWxsaW9uc1RvVGV4dCl7CiAgICAgICAgJG51bWJlclRvVGV4dD0kbnVtYmVyVG9UZXh0IC4gJyAnIC4gJG1pbGxpb25zVG9UZXh0OwogICAgfQogICAgaWYgKCR0aG91c2FuZFRvVGV4dCl7CiAgICAgICAgJG51bWJlclRvVGV4dD0kbnVtYmVyVG9UZXh0IC4gJyAnIC4gJHRob3VzYW5kVG9UZXh0OwogICAgfQogICAgaWYgKCRyb3VibGVzVG9UZXh0KXsKICAgICAgICAkbnVtYmVyVG9UZXh0PSRudW1iZXJUb1RleHQgLiAnICcgLiAkcm91Ymxlc1RvVGV4dDsKICAgIH0KICAgIHJldHVybiAkbnVtYmVyVG9UZXh0Owp9CgokdGVzdDE9IG51bWJlcl90b190ZXh0KG10X3JhbmQoMCw5OTk5OTk5OTkpKTsKZWNobyAi0J3QsCDQktCw0YjQtdC8INGB0YfQtdGC0YMkdGVzdDFcbiI7CiR0ZXN0Mj0gbnVtYmVyX3RvX3RleHQobXRfcmFuZCgwLDk5OTk5OTk5OSkpOwplY2hvICLQndCwINCS0LDRiNC10Lwg0YHRh9C10YLRgyR0ZXN0MlxuIjsKJHRlc3QzPSBudW1iZXJfdG9fdGV4dChtdF9yYW5kKDAsOTk5OTk5OTk5KSk7CmVjaG8gItCd0LAg0JLQsNGI0LXQvCDRgdGH0LXRgtGDJHRlc3QzXG4iOw==