#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define nmax 100000
char line[nmax];
int n[nmax], t1[nmax], t2[nmax], sol[nmax];
void mul(int*, int*, int);
void mul(int*, int*, int*);
void add(int*, int*, int*);
int main()
{
freopen("sarpe.in","r",stdin);
freopen("sarpe.out","w",stdout);
int i, len;
gets(line);
len = strlen(line);
for(i = len; i >= 0; --i)
{
if(isdigit(line[i]))
{
n[++n[0]] = line[i] - '0';
}
}
if(n[0] == n[1] && n[1] == 1)
{
printf("2\n");
return 0;
}
for(i = n[0]; i >= 0; --i)
{
t1[i] = t2[i] = n[i];
}
t1[1] -= 1;
for(i = 1; i < t1[0] && t1[i] < 0; t1[i] += 10, t1[i + 1] -= 10, ++i);
if(t1[t1[0]] == 0)
--t1[0];
t2[1] -= 2;
for(i = 1; i < t1[0] && t1[i] < 0; t1[i] += 10, t1[i + 1] -= 10, ++i);
if(t2[t2[0]] == 0)
--t2[0];
mul(sol, t1, t2);
mul(sol, sol, 2);
mul(n, n, 4);
add(sol, sol, n);
for(i = sol[0]; i > 0; --i)
{
printf("%d", sol[i]);
}
printf("\n");
return 0;
}
void mul(int* c, int* a, int* b)
{
int i, j, t;
for(i = 1; i <= a[0]; ++i)
{
for(j = 1, t = 0; j <= b[0] || t; ++j, t /= 10)
{
c[i + j - 1] = (t += c[i + j - 1] + a[i] * b[j]) % 10;
}
if(i + j - 2 > c[0]) c[0] = i + j - 2;
}
}
void mul(int* c, int* a, int b)
{
int i, t;
for(i = 1, t = 0; i <= a[0] || t; ++i, t /= 10)
{
c[i] = (t += a[i] * b) % 10;
}
c[0] = i - 1;
}
void add(int* c, int* a, int* b)
{
int i, t;
for(i = 1, t = 0; i <= a[0] || i <= b[0] || t; ++i, t /= 10)
{
c[i] = (t += a[i] + b[i]) % 10;
}
c[0] = i - 1;
}