#include <iostream>
#include <ctype.h>
using namespace std;
int getoffset(char c)
{
if(c=='A') return 0;
else if(c=='B') return 5;
else if(c=='C') return 10;
else if(c=='D') return 15;
else if(c=='E') return 20;
else if(c=='F') return 25;
else if(c=='G') return 30;
else if(c=='H') return 35;
else if(c=='I') return 40;
else if(c=='J') return 45;
else if(c=='K') return 50;
else if(c=='L') return 55;
else if(c=='M') return 60;
else if(c=='N') return 65;
else if(c=='O') return 70;
else if(c=='P') return 75;
else if(c=='Q') return 80;
else if(c=='R') return 85;
else if(c=='S') return 90;
else if(c=='T') return 95;
else if(c=='U') return 100;
else if(c=='V') return 105;
else if(c=='W') return 110;
else if(c=='X') return 115;
else if(c=='Y') return 120;
else if(c=='Z') return 125;
}
int main()
{
int convertarray[130];
convertarray[0]=0xFF;
convertarray[1]=0x88;
convertarray[2]=0x88;
convertarray[3]=0x88;
convertarray[4]=0xFF;
convertarray[5]=0xFF;
convertarray[6]=0x89;
convertarray[7]=0x89;
convertarray[8]=0x89;
convertarray[9]=0xFF;
convertarray[10]=0xFF;
convertarray[11]=0x81;
convertarray[12]=0x81;
convertarray[13]=0x81;
convertarray[14]=0x81;
convertarray[15]=0xFF;
convertarray[16]=0x81;
convertarray[17]=0x81;
convertarray[18]=0x42;
convertarray[19]=0x3C;
convertarray[20]=0xFF;
convertarray[21]=0x89;
convertarray[22]=0x89;
convertarray[23]=0x89;
convertarray[24]=0x81;
convertarray[25]=0xFF;
convertarray[26]=0x88;
convertarray[27]=0x88;
convertarray[28]=0x88;
convertarray[29]=0x80;
convertarray[30]=0x7E;
convertarray[31]=0x81;
convertarray[32]=0x89;
convertarray[33]=0x89;
convertarray[34]=0x0E;
convertarray[35]=0xFF;
convertarray[36]=0x08;
convertarray[37]=0x08;
convertarray[38]=0x08;
convertarray[39]=0xFF;
convertarray[40]=0x81;
convertarray[41]=0x81;
convertarray[42]=0xFF;
convertarray[43]=0x81;
convertarray[44]=0x81;
convertarray[45]=0x0E;
convertarray[46]=0x81;
convertarray[47]=0x81;
convertarray[48]=0xFE;
convertarray[49]=0x80;
convertarray[50]=0xFF;
convertarray[51]=0x18;
convertarray[52]=0x24;
convertarray[53]=0x42;
convertarray[54]=0x81;
convertarray[55]=0xFF;
convertarray[56]=0x01;
convertarray[57]=0x01;
convertarray[58]=0x01;
convertarray[59]=0x01;
convertarray[60]=0xFF;
convertarray[61]=0x40;
convertarray[62]=0x20;
convertarray[63]=0x40;
convertarray[64]=0xFF;
convertarray[65]=0xFF;
convertarray[66]=0x20;
convertarray[67]=0x08;
convertarray[68]=0x02;
convertarray[69]=0xFF;
convertarray[70]=0x7E;
convertarray[71]=0x81;
convertarray[72]=0x81;
convertarray[73]=0x81;
convertarray[74]=0x7E;
convertarray[75]=0xFF;
convertarray[76]=0x88;
convertarray[77]=0x88;
convertarray[78]=0x88;
convertarray[79]=0x70;
convertarray[80]=0x7C;
convertarray[81]=0x82;
convertarray[82]=0x82;
convertarray[83]=0x82;
convertarray[84]=0x7D;
convertarray[85]=0xFF;
convertarray[86]=0x98;
convertarray[87]=0x94;
convertarray[88]=0x92;
convertarray[89]=0x61;
convertarray[90]=0x62;
convertarray[91]=0x91;
convertarray[92]=0x91;
convertarray[93]=0x91;
convertarray[94]=0x0E;
convertarray[95]=0x80;
convertarray[96]=0x80;
convertarray[97]=0xFF;
convertarray[98]=0x80;
convertarray[99]=0x80;
convertarray[100]=0xFE;
convertarray[101]=0x01;
convertarray[102]=0x01;
convertarray[103]=0x01;
convertarray[104]=0xFE;
convertarray[105]=0xE0;
convertarray[106]=0x1E;
convertarray[107]=0x01;
convertarray[108]=0x1E;
convertarray[109]=0xE0;
convertarray[110]=0xFE;
convertarray[111]=0x01;
convertarray[112]=0x0E;
convertarray[113]=0x01;
convertarray[114]=0xFE;
convertarray[115]=0xC3;
convertarray[116]=0x2C;
convertarray[117]=0x10;
convertarray[118]=0x2C;
convertarray[119]=0xC3;
convertarray[120]=0xC0;
convertarray[121]=0x20;
convertarray[122]=0x1F;
convertarray[123]=0x20;
convertarray[124]=0xC0;
convertarray[125]=0x81;
convertarray[126]=0x83;
convertarray[127]=0x9D;
convertarray[128]=0xA1;
convertarray[129]=0xC1;
int counter=0;
string s="";
cin>> s;
for(int x=0;x<s.length();x++)
{
s[x]=toupper(s[x]);
}
int n=7*s.length()+5;
cout<<"#include <avr/io.h>\n#include <avr/interrupt.h>\n#include<util/delay.h>"<<endl;
cout<<"int string["<<n<<"];"<<endl;
cout<<"int main(){"<<endl;
if(s.length()>26) cout<<"string length should be <26"<<endl;
else
{
for(int i=0;i<s.length();i++)
{
int n=getoffset(s[i]);
for(int j=0;j<5;j++)
{
cout<<"string["<<counter<<"]="<<convertarray[n+j]<<";"<<endl;
counter++;
}
cout<<"string["<<counter<<"]=0x00;"<<endl;
counter++;
cout<<"string["<<counter<<"]=0x00;"<<endl;
counter++;
}
cout<<"string["<<counter<<"]=0x00;"<<endl;
counter++;
cout<<"string["<<counter<<"]=0x00;"<<endl;
counter++;
cout<<"string["<<counter<<"]=0x00;"<<endl;
counter++;
cout<<"string["<<counter<<"]=0x00;"<<endl;
counter++;
cout<<"string["<<counter<<"]=0x00;"<<endl;
counter++;
cout<<"DDRD=0x01;\nPORTD=0x01;\nDDRB=0xff;\nPORTB=0x00;\n"<<endl;
cout<<"while(1){while((PIND&0x02)==0){}"<<endl;
cout<<"{\nint i=0;\n_delay_ms(1000);\nfor(i=0;i<"<<n<<";i++)\n{\nPORTB=string[i];\n_delay_ms(10);\n}\n}"<<endl;
cout<<"}\n}"<<endl;
}
return 0;
}