#include<cstdio>
#define ll unsigned long long
ll n;
ll up=0,down=1,front=0;
ll gcd(ll a,ll b){if(!b)return a;return gcd(b,a%b);}
void add(ll up1,ll down1,ll up2,ll down2){
ll kst=down1*down2;
ll upkst=up1*down2+up2*down1;
if(upkst == 0)return ;
ll gcdd=gcd(kst,upkst);
kst/=gcdd,upkst/=gcdd;
up=upkst,down=kst;
}
void jw(){
if(up<down)return ;
front+=(up/down);
up%=down;
add(0,1,up,down);
}
ll len(ll x){
ll num=0;
while(x>0){x/=10,num++;}
return num;
}
signed main(){
scanf("%lld",&n);
for(register ll i=1;i<=n;++i){
add(1,i,up,down);
jw();
}
front*=n,up*=n;
jw();
if(up==0)printf("%lld\n",front);
else{
ll lenf=len(front);
for(register ll i=1;i<=lenf;++i)printf(" ");
printf("%lld\n",up);
printf("%lld",front);
ll len2=len(down);
for(register ll i=1;i<=len2;++i)
printf("-");
printf("\n");
for(register ll i=1;i<=lenf;++i)
printf(" ");
printf("%lld\n",down);
}
return 0;
}