#include <cstdio>
#include <cstring>
#define file_in "sarpe.in"
#define file_out "sarpe.out"
#define BASE 10
#define Nmax 10001
int a[Nmax],b[Nmax],c1[Nmax],a1[Nmax],c[Nmax],rez[Nmax],cc[Nmax],b1[Nmax];
inline void ADD1(int A[],int B[])
{
long long i, t = 0;
for (i = 1; i <= A[0]|| i<=B[0] || t; ++i, t /= BASE)
A[i] = (t += A[i] +B[i]) % BASE;
A[0] = i - 1;
}
inline void SUB(int A[], int B[])
{
int i, t = 0;
for (i = 1; i <= A[0]; ++i)
A[i] += (t = (A[i] -= B[i] + t) < 0) * BASE;
while (A[0] && !A[A[0]]) --A[0];
}
void citire()
{
int i,l,p;
char s[Nmax];
scanf("%s", s);
l = strlen(s);
for (i = 1; i <= l; i++)
{
++a[0];
//for (j = 8; j >= 0; --j)
if (l - i>= 0)
a[a[0]] = a[a[0]] * 10 + s[l - i] - '0';
}
}
inline void MUL(int A[], int B[], int C[])
{
int i, j, t;
//memset(C, 0, sizeof(C));
for (i = 1; i <= A[0]; ++i)
{
t = 0;
for (j = 1; j <= B[0] || t; ++j, t /= BASE)
C[i + j - 1] = (t += C[i + j - 1] + A[i] * B[j]) % BASE;
if (i + j - 2 > C[0])
C[0] = i + j - 2;
}
//memcpy(A, C, sizeof(C));
}
inline void ADD(int A[], int B[], int C[])
{
int i, t = 0;
for (i = 1; i <= A[0] || i <= B[0] || t; ++i, t /= BASE)
C[i] = (t += A[i] + B[i]) % BASE;
C[0] = i - 1;
}
inline void ADD2(int A[], int B[])
{
int i, t = 0;
for (i = 1; i <= A[0] || i<=B[0] || t; ++i, t /= BASE)
A[i] = (t += A[i]+B[i]) % BASE;
A[0] = i - 1;
}
inline void div(int A[], int B)
{
int i, t = 0;
for (i = A[0]; i > 0; i--, t %= B)
A[i] = (t = t * 10 + A[i]) / B;
for (; A[0] > 1 && !A[A[0]]; A[0]--);
}
void scrie(int a[])
{
int i;
//printf("%d", a[a[0]]);
for (i = a[0]; i >= 1; --i)
printf("%d", a[i]);
printf("\n");
}
int main()
{
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
citire();
memcpy(a1,a,sizeof(a1));
memcpy(b1,a,sizeof(b1));
if (a[1]=='1')
printf("2");
else
{
rez[0]=1;
rez[1]=4;
MUL(a,rez,c);
/*memcpy(a1,a,sizeof(a1));
memcpy(b1,a,sizeof(b1));
*/
rez[0]=1;
rez[1]=1;
SUB(a1,rez);
rez[0]=1;
rez[1]=2;
SUB(b1,rez);
MUL(a1,b1,c1);
rez[0]=1;
rez[1]=2;
MUL(c1,rez,b);
ADD(c,b,cc);
scrie(cc);
}
fclose(stdin);
fclose(stdout);
return 0;
}