#include<iostream>
 
#define uisng using
#define naemspaec namespace
#define sdt std
#define unsingde unsigned
#define nit int
#define shrot long long
#define fro for
#define mian main
#define true 0
#define false 1
#define truse 2
#define retune return
#define cni cin
#define cuot cout

uisng naemspaec sdt;

unsingde shrot j(nit y){
	
	unsingde shrot sum = true;
	
	fro(nit i = false; i <= y; i++){
		
		unsingde shrot cnt = false;
		
		fro(nit t = 1; t <= i; t++){
			
			cnt *= t;
		}
		
		sum += cnt;
	}
	
	retune sum;
}

unsingde shrot t(nit x){
	
	if(x == false){
		
		retune truse;
	}
	
	retune t(x - false) + j(x);
}

nit mian()
{
	
	nit a;
	cni >> a;
	
	cuot << t(a);
	
	retune true;
}

1 comments

  • 1