%{
#include<stdio.h>
int num, r, digit=0, count, pcount=0, i;
char a[20];
%}
DIGIT [0-9]
/* Rule Section */
%%
{DIGIT}+ { num=atoi(yytext);
while(num!=0)
{
r=num%16;
digit='0'+r;
if(digit>'9')
digit+=7;
a[count++]=digit;
num=num/16;
}
for(i=count-1;i>=pcount;--i)
printf("%c", a[i]);
pcount=count;
}
%%
// driver code
int main()
{
yylex();
return 0;
}
JXsgCgkjaW5jbHVkZTxzdGRpby5oPiAKCWludCBudW0sIHIsIGRpZ2l0PTAsIGNvdW50LCBwY291bnQ9MCwgaTsgCgljaGFyIGFbMjBdOyAKJX0gCgpESUdJVCBbMC05XSAKLyogUnVsZSBTZWN0aW9uICovCiUlIAoKe0RJR0lUfSsgeyBudW09YXRvaSh5eXRleHQpOyAKCgkJd2hpbGUobnVtIT0wKSAKCQl7IAoKCQkJcj1udW0lMTY7IAoJCQlkaWdpdD0nMCcrcjsgCgkJCWlmKGRpZ2l0Pic5JykgCgkJCWRpZ2l0Kz03OyAKCQkJYVtjb3VudCsrXT1kaWdpdDsgCgkJCW51bT1udW0vMTY7IAoKCQl9IAoKCQlmb3IoaT1jb3VudC0xO2k+PXBjb3VudDstLWkpIAoJCQkJcHJpbnRmKCIlYyIsIGFbaV0pOyAKCQkJCXBjb3VudD1jb3VudDsgCgkJfQoJCQolJSAKCi8vIGRyaXZlciBjb2RlIAppbnQgbWFpbigpIAp7IAoJeXlsZXgoKTsgCglyZXR1cm4gMDsgCn0JIAoK