#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int a[10],n,beichu;
bool used[15],used1[15],have;
bool judge(int num){
int t=0;
for(int i=0;i<=9;i++)
used1[i]=used[i];
while(num){
if(!used1[num%10])
used1[num%10]=1;
else return 0;
num/=10;
t++;
}
if(t>5) return 0;
return 1;
}
int getnum(){
int sum=0;
for(int i=0;i<5;i++){
sum=sum*10+a[i];
}
return sum;
}
void pro(int cnt){
if(cnt==5){
beichu=getnum()*n;
if(judge(beichu)){
have=1;
cout<<beichu<<" / ";
for(int i=0;i<5;i++)
cout<<a[i];
cout<<" = "<<n<<endl;
}
return ;
}
for(int i=0;i<=9;i++){
if(!used[i]){
used[i]=1;
a[cnt]=i;
pro(cnt+1);
used[i]=0;
}
}
}
int main(){
while(cin>>n&&n){
have=0;
memset(used,0,sizeof(used));
pro(0);
if(have==0)
cout<<"There are no solutions for "<<n<<'.'<<endl;
}
return 0;
}
#include <cstdio>
#include <cstring>
using namespace std;
int a[10],n,beichu;
bool used[15],used1[15],have;
bool judge(int num){
int t=0;
for(int i=0;i<=9;i++)
used1[i]=used[i];
while(num){
if(!used1[num%10])
used1[num%10]=1;
else return 0;
num/=10;
t++;
}
if(t>5) return 0;
return 1;
}
int getnum(){
int sum=0;
for(int i=0;i<5;i++){
sum=sum*10+a[i];
}
return sum;
}
void pro(int cnt){
if(cnt==5){
beichu=getnum()*n;
if(judge(beichu)){
have=1;
cout<<beichu<<" / ";
for(int i=0;i<5;i++)
cout<<a[i];
cout<<" = "<<n<<endl;
}
return ;
}
for(int i=0;i<=9;i++){
if(!used[i]){
used[i]=1;
a[cnt]=i;
pro(cnt+1);
used[i]=0;
}
}
}
int main(){
while(cin>>n&&n){
have=0;
memset(used,0,sizeof(used));
pro(0);
if(have==0)
cout<<"There are no solutions for "<<n<<'.'<<endl;
}
return 0;
}