/*                  HEX.CPP - by Zeljko Svedic (39 lines)                  */

#include <stdio.h>

long i,n,brko[17],koji,j,poz;
char zn[17]="FEDCBA9876543210",rez[17];
int fl[16]={0},duz=8;
FILE *fp=fopen("hex.in","rt");

void main(void)
{
	fscanf(fp,"%ld",&n);
	fclose(fp);
	n--;

jmp:
	for(brko[0]=i=1;i<duz;i++) brko[i]=brko[i-1]*(i+16-duz);

	if(n/brko[duz-1]>14) { n-=brko[duz-1]*15; duz--; goto jmp; }

	for(i=0;i<duz;i++)
	{
		koji=n/brko[duz-1-i];
		n=n%brko[duz-1-i];

		for(j=poz=0;;j++)
			if(!fl[j]) {
				if(poz==koji) break; else poz++;
			}

		fl[j]=1;
		rez[i]=zn[j];
	}
	rez[duz]='\0';

	fp=fopen("hex.out","wt");
	fprintf(fp,"%s",rez);
	fclose(fp);
}