#3wa了
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 5e5+5,Max = 5e5,mod = (int)pow(2,31);
int f[100] = {1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986,102334155,165580141,267914296,433494437,701408733,1134903170,1836311903,823731425,512559680,1336291105,1848850785,1037658242,739025379,1776683621,368225352,2144908973,365650677,363076002,728726679,1091802681,1820529360};
bool p[N];
void prime()//埃氏筛,1代表合数,0代表质数
{
p[0] = p[1] = 1;
for(int i = 2;i*i<=Max;i++)
{
if(!p[i])
{
for(int j = 2;i*j<=Max;j++)
{
p[i*j] = 1;
}
}
}
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int n;
cin>>n;
n = f[n-1]%mod;
prime();
cout<<n<<'=';
bool b = 0;
for(int i = 2;i<=Max;i++)
{
if(!p[i])
{
while(true)
{
if(n%i!=0) break;
if(b) cout<<'*';
else b = 1;
cout<<i;
// cout<<"n:"<<n<<endl;
n/=i;
}
}
if(!n) break;
}
cout<<endl;
return 0;
}
// 打表
// f[1] = 1,f[2] = 1;
// for(int i = 3;i<=60;i++) f[i] = (f[i-1]+f[i-2])%mod;
// for(int i = 1;i<=60;i++) cout<<f[i]<<',';