#include<bits/stdc++.h>
using namespace std;
int inset(char *s,int num) { //判断数字是否在数字集中
int len=strlen(s),i,tmp;
while(num) {
tmp=num%10; //取末尾数字
for(i=0; i<len; i++) {
if(s[i]-'0'==tmp) //如果在里面,则跳出for循环
break;
}
if(i==len)//当i=len的时候,表示已经搜遍s,s里面不存在tmp的末尾数字,则不行
return 0;
num=num/10;
}
return 1;
}
int main() {
int i,count=0;
char s[10];
scanf("%s",s);
//printf("%s\n",s);
int abc,de,x,y,z;
for(abc=111; abc<=999; abc++) {
for(de=11; de<=99; de++) {
x=abc*(de%10); //abc乘de的个位
y=abc*(de/10);//abc乘de的十位
z=abc*de;
if(inset(s,abc)&&inset(s,de)&&inset(s,x)&&inset(s,y)&&inset(s,z)) {
count++;
printf("<%d>\n", count);
printf("%5d\nX%4d\n-----\n%5d\n%4d\n-----\n%5d\n\n", abc, de, x, y, z);
}
}
}
return 0;
}