#include <fstream>
#include <queue>
#include <vector>
#include <unordered_map>
#include <algorithm>
using namespace std;
ifstream cin("sarpe.in");
ofstream cout("sarpe.out");
int a[1005],b[1005],c[2005],rez[2005];
int prod()
{
for(int i=1;i<=a[0];i++)
{
for(int k=1;k<=b[0];k++)
{
c[i+k-1]+=a[i]*b[k];
//cout<<a[i]<<" "<<b[k]<<" "<<c[i]<< '\n';
}
}
int ca;
long long t=0;
for(int i=1;i<a[0]+b[0];i++)
{
t+=c[i];
c[i]=t%10;
if(t>0)
{
ca=i;
}
t/=10;
//cout<<i<<" "<<t<<"\n";
}
while(t>0)
{
ca++;
c[ca]=t%10;
t/=10;
}
for(int i=1;i<=ca;i++)
{
b[i]=c[i];
}
b[0]=ca;
for(int i=1;i<=ca;i++)
{
c[i]=0;
// cout<<b[i]<<" ";
}
return 0;
}
string n;
int panarame;
int sum()
{
int t=0;
for(int i=1;i<=max(rez[0],b[0] );i++ )
{
t+=rez[i];
t+=b[i];
rez[i]=t%10;
t/=10;
}
panarame=max(rez[0],b[0]);
while(t>0)
{
panarame++;
rez[panarame]=t%10;
t/=10;
}
rez[0]=panarame;
return 0;
}
int scad()
{
for(int i=1;i<=n.length();i++)
{
if(a[i]>0)
{
a[i]--;
break;
}
a[i]=9;
}
return 0;
}
int scad1()
{
for(int i=1;i<=b[0];i++)
{
if(b[i]>0)
{
b[i]--;
if(i==b[0] && b[i]==0)
{
b[0]--;
}
break;
}
b[i]=9;
}
return 0;
}
int main()
{
cin>>n;
a[0]=n.length();
b[0]=n.length();
for(int i=1;i<=a[0];i++)
{
a[i]=n[n.length()-i]-'0';
b[i]=n[n.length()-i]-'0';
}
scad();
scad1();
scad1();
// cout<<a[1]<<" "<<b[1]<<" ";
prod();
//n-1 * n-2
for(int i=1;i<=a[0];i++)
{
a[i]=0;
}
a[0]=1;
a[1]=2;
prod();
//n-1 n-2 2
for(int i=1;i<=b[0];i++)
{
rez[i]=b[i];
b[i]=0;
}
rez[0]=b[0];
for(int i=1;i<=n.length();i++)
{
b[i]=n[n.length()-i]-'0';
}
b[0]=n.length();
//b=n;
for(int i=1;i<=a[0];i++)
{
a[i]=0;
}
a[0]=1;
a[1]=4;
prod();
sum();
for(int i=1;i<=rez[0];i++){
cout<<rez[1-i+rez[0]];
}
return 0;
}