/*
這是一個面值題,題目大致意思就是比如我有1,2,5,10 4種面值紙幣,沒有限制張數。任意輸入一張面值,求出有多少種加起來得和等於這個面值。(實際這個對於張數有限制得同樣有作用,只要改一下限制)
*/
#include<iostream>
using namespace std;
int ans = 0;
void get_num(int m[], int total[], int n[], int money)
{
while (true)
{
int sum = 0;
for (int i = 0; i < 4; i++)
sum = sum + m[i] * n[i];
if (sum == money)
{
ans++;
for (int i = 0; i < 4; i++)
cout << n[i] << " ";
cout << endl;
}
int k = 3;
while (k >= 0)
{
if (n[k] <total[k])
{
n[k]++;
break;
}
else
{
n[k] = 0;
k = k - 1;
}
}
if (k < 0)
{
break;
}
}
}
int main()
{
int money;//輸入數值
int m[] = { 10,5,2,1 };
cin >> money;
int total[] = { money / 10,money / 5,money / 2,money / 1 };
int n[4] = { 0 };
get_num(m,total,n,money);
cout << ans << endl;
return 0;
}