/*
PROG: ptwo
LANG: C
*/

#include <stdio.h>

int n,lenptwo,lensol,lentemp;
FILE *in,*out;
int ptwo[1000],sol[1000],temp[1000];

void ucitaj(void) {
	fscanf(in,"%d",&n);
	sol[0]=1; lensol=1;
	ptwo[0]=2; lenptwo=1;
}

void mnozi(int *a,int lena,int *b,int lenb) {
	int p,i,j;

	for (i=0;i<1000;i++) temp[i]=0;

	for (i=0;i<lena;i++)
		for (j=0;j<lenb;j++) {
			p=a[i]*b[j];
			temp[i+j]+=p;
			temp[i+j+1]+=temp[i+j]/10;
			temp[i+j]=temp[i+j]%10;
		}

	lentemp=lena+lenb-1;
	if (temp[lentemp]!=0) lentemp++;
}	

void rijesi(void) {
	int i;
	while (n>0) {
		if (n & 1) {
			mnozi(sol,lensol,ptwo,lenptwo);
			for (i=0;i<lentemp;i++) sol[i]=temp[i];
			lensol=lentemp;
		}
		n=n>>1;
		mnozi(ptwo,lenptwo,ptwo,lenptwo);
		for (i=0;i<lentemp;i++) ptwo[i]=temp[i];
		lenptwo=lentemp;
	}
}

void ispisi(void) {
	int i;
	for (i=lensol-1;i>=0;i--) fprintf(out,"%d",sol[i]);
	fprintf(out,"\n");
}

int main(void) {
	in=fopen("ptwo.in","r");
	out=fopen("ptwo.out","w");

	ucitaj();
	rijesi();
	ispisi();

	fclose(in);
	fclose(out);

	return 0;
}
