public static void main(String[] args) throws Throwable {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		String linea;
		while((linea=bf.readLine())!=null){
			int n = Integer.parseInt(linea);
			int cantidadDePermutaciones=0;
			ArrayList<Integer> numeros = new ArrayList<Integer>();
			int mayor=3;
			numeros.add(mayor);
			int sumita = 0;
			while( numeros.size() < n ){

				while( (sumita = sumaN(n, numeros)) < n ) {
					numeros.add(mayor);
					sumita = sumaN(n, numeros);
					if(sumita == n){
						cantidadDePermutaciones++;
						while (nextPermutation(numeros)) {
							cantidadDePermutaciones++;
						}
						int aDisminuir = numeros.get(numeros.size()-1);
						if(aDisminuir > 1){
							numeros.remove(numeros.size()-1);
							numeros.add(aDisminuir-1);
							mayor = aDisminuir;
						}
					}
					else if( sumita > n ){
						int aDisminuir = numeros.get(numeros.size()-1);
						if(aDisminuir > 1){
							numeros.remove(numeros.size()-1);
							numeros.add(aDisminuir-1);
						}
					}
				}
			}
		}
	}