Go: package main

import (
	"fmt"
)

func main() {
	for {
		var a int
		fmt.Scan(&a)
		if a == 0 {
			break
		}
		rs := 0

		for i := 0; i < 10; i++ {
			for j := 0; j < 10; j++ {
				for k := 0; k < 10; k++ {
					for l := 0; l < 10; l++ {
						if i+j+k+l == a {
							rs++
						}
					}
				}
			}
		}
		fmt.Println(rs)
	}
}

C++: #include <iostream>
#include <vector>
#include <math.h>
#include <string>

int main(void);
int combination(int n);
bool combination_sub();

int main(){
	int n;				//入力されるデータセット
	int cnt = 0;		//データセット入力カウント
	int result[50];		//組み合わせ個数を格納する配列

	while (std::cin >> n){
	//while (cnt < 2){
		//std::cin >> n;
		result[cnt] = combination(n);
		cnt++;
	}

	for (int i = 0; i < cnt; i++){
		std::cout << result[i] << std::endl;
	}

	//while (1);
	return 0;
}

int combination(int n){
	int rtn = 0;
	
	//全部同じ場合
	for (int x = 0; x <= 9; x++){
		if (x * 4 == n){
			rtn++;
		}
	}

	//「全部同じ」以外の場合
	for (int a = 0; a <= 9; a++){
		for (int b = 0; b <= 9; b++){
			for (int c = 0; c <= 9; c++){
				for (int d = 0; d <= 9; d++){
					if (!((a == b) && (a == c) && (a == d))){
						if ((a + b + c + d) == n){
							rtn++;
						}
					}
				}
			}
		}
	}

	return rtn;
}

C++: #include<iostream>

int main()
{
	int n, count{};
	while (std::cin >> n)
	{
		count = 0;
		for (int a = 0; a < 10 && a <= n; ++a)
		{
			if (a + 27 < n) continue;
			for (int b = 0; b < 10 && a + b <= n; ++b)
			{
				if (a + b + 18 < n) continue;
				for (int c = 0; c < 10 && a + b + c <= n; ++c)
				{
					if (a + b + c + 9 < n) continue;
					count++;
				}
			}
		}
		std::cout << count << std::endl;
	}
	return 0;
}

C++: #include <stdio.h>
#include <string.h>

int main(void){
	int n,a,b,c,d,count=0;
	scanf("%d",&n);
	for(a=1;a<=n;a++){
		for(b=1;b<=n;b++){
			for(c=1;c<=n;c++){
				for(d=1;d<=n;d++){
					if((a+b+c+d)==n){
						count++;
					}
				}
			}
		}
	}
	printf("%d\n",count);
}

C++: #include <iostream>
using namespace std;

int main() {
  unsigned int input;
  unsigned int count=0;
  cin >> input;

  for(int a0=0; a0<10; a0++) {
    for(int a1=a0; a1<10; a1++) {
      for(int a2=a1; a2<10; a2++ ) {
        for(int a3=a2; a3<10; a3++) {
          if(a0+a1+a2+a3==input) {
            count++;
          }
        }
      }
    }
  }
  cout << count << endl;

  return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;

int main(){
	int sum = 0;
	int n;
	while(scanf("%d", &n)>0){
		sum = 0;
		for(int i=0; i<10; i++){
			for(int j=0; j<10; j++){
				for(int k=0; k<10; k++){
					for(int l=0; l<10; l++){
						if(i+j+k+l==n) sum++;
					}
				}
			}
		}
		printf("%d\n", sum);
	}

	return 0;
}

C++: #include <stdio.h>

int main(void)
{
	int n;
	int i, j, k, l;
	int ans;
		
	while(scanf("%d", &n) != EOF){
		ans = 0;
			for(i = 0; i < 10; i++){
				for(j = 0; j < 10; j++){
					for(k = 0; k < 10; k++){
						for(l = 0; l < 10; l++){
							if(i + j + k + l == n){ ans += 1; }
						}
					}
				}
			}
			
			printf("%d\n", ans);
		}
		return 0;
}

C++: #include <iostream>
using namespace std;
int main( void )
{
  int n;
  while( 1 ){
    cin >> n;
    if( cin.eof() ) break;
    int x = 0;
    for( int a=0; a<=9; a++ ) for( int b=0; b<=9; b++ )
    for( int c=0; c<=9; c++ ) for( int d=0; d<=9; d++ )
    if( a+b+c+d == n ) x++;
    cout << x << endl;
  }
  return 0;
}

C++: #include <stdio.h>

int main(void)
{
  int n;
  while(scanf("%d", &n) != EOF){
    int a,b,c,d;
    int combination = 0;
    for(a=0; a<10; a++){
      for(b=0; b<10; b++){
        for(c=0; c<10; c++){
          for(d=0; d<10; d++){
            if(a+b+c+d==n){
              ++combination;
            }
          }
        }
      }
    }

    printf("%d\n", combination);
  }

  return 0;
}

C++: #include <iostream>
#include <algorithm>

using namespace std;

int main() {
	int num[4], n;
	int count = 9;
	int point[10] = {0};

	cin >> n;

	for(int i = 0; i < 4; i++) {
		if(n - count >= 0) {
			n -= count;
			num[i] = count;
		}
		else {
			count--;
			i--;
		}
	}


	for(int i = 0; i < 4; i++) {
		point[num[i]]++;
	}

	int p = 0;

	for(int i = 0; i < 10; i++) {
		p = max(p, point[i]);
	}

	int ans = 1;

	if(p == 4) {
		for(int i = 4; i >= 1; i--) {
			ans *= i;
		}
	}
	else if(p == 3) {
		for(int i = 4; i >= 1; i--) {
			ans *= i;
		}
		ans /= 6;
	}
	else if(p == 2) {
		for(int i = 4; i >= 1; i--) {
			ans *= i;
		}
		ans /= 4;
	}
	else if(p == 1) {
		for(int i = 4; i >= 1; i--) {
			ans *= i;
		}
		ans /= ans;
	}

	cout << ans << endl;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <map>

using namespace std;

int memo[100] = {0};

int main() {
	map<int, bool> m;
	for (int a = 0; a < 10; ++a)
		for (int b = 0; b < 10; ++b)
			for (int c = 0; c < 10; ++c)
				for (int d = 0; d < 10; ++d)
					++memo[a+b+c+d];

	int n;
	while (scanf("%d", &n) != EOF) {
		cout << memo[n] << endl;
	}
}

C++: #include<iostream>
using namespace std;

int main(){
        int n, cnt=0;
        while(cin >> n){
                cnt = 0;
                for(int i = 0; i <= 9; i++){
                        for(int j = 0; j<= 9; j++){
                                for(int k = 0; k <= 9; k++){
                                        for(int l = 0; l <= 9; l++){
                                                if(i+j+k+l == n)        cnt++;
                                        }
                                }
                        }
                }
        cout << cnt << endl;

        }

}

C++: #include<iostream>
using namespace std;
int main(){
  // d = n - a - b - c
  int n,cnt;
  while(cin >> n){
    cnt=0;
    for(int a=0;a<10;a++){
      for(int b=0;b<10;b++){
	for(int c=0;c<10;c++){
	  if(a+b+c>n)break;
	  for(int d=0;d<10;d++){
	    if(a+b+c+d == n)cnt++;
	  }
	}
      }
    }
    cout << cnt << endl;
  }
}

C++: #include <iostream>
using namespace std;

int main(){
	int n;
	while(cin>>n){
		int count = 0;
		for(int i=0; i<10; i++)
			for(int j=0; j<10; j++)
				for(int k=0; k<10; k++)
					for(int l=0; l<10; l++)
						if(i+j+k+l==n) count++;
		cout << count << endl;
	}
	return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main(){

  int n,count;
  int a,b,c,d;

  while(cin >> n){
    if(n <= 50){
      count = 0;
      for(a=0;a<10;a++)
	for(b=0;b<10;b++)
	  for(c=0;c<10;c++)
	    for(d=0;d<10;d++)
	      if(a+b+c+d == n)
		count++;
      cout << count << endl;
    }
  }

  return 0;
}

C++: #include <algorithm>
#include <iostream>
using namespace std;

int main(){
	int n;
	while(cin >> n){
		int output = 0;
		for(int a=0;a<=9;a++){
			for(int b=0;b<=9;b++){
				for(int c=0;c<=9;c++){
					for(int d=0;d<=9;d++){
						if(a+b+c+d==n){
							output++;
						}	
					}
				}
			}
		}
		cout << output << endl;
	}
}

C++: #include <stdio.h>

int main(void){
	int n;
	int a,b,c,d;
	int cnt;
	int i,j,k,l;

	while(scanf("%d",&n) != EOF){
		cnt = 0;
		if(n <= 36){
			for(i = 1;i < 10;i++){
				for(j = 1;j < 10;j++){
					for(k = 1;k < 10;k++){
						for(l = 1;l < 10;l++){
							if(i+j+k+l == n)
								cnt++;
						}
					}
				}
			}
			printf("%d\n",cnt);
		}
		if(n > 36)
			printf("0\n");
	}
	return 0;
}

C++: #include<iostream>
using namespace std;

int main(){
	int n;
	while(cin >> n){
		int sum = 0;
		for(int a = 0; a < 10; a++){
			for(int b = 0; b < 10; b++){
				for(int c = 0; c < 10; c++){
					for(int d = 0; d < 10; d++){
						if(a+b+c+d == n){
							sum++;
						}
					}
				}
			}
		}
		cout << sum << endl;
	}	
return 0;
}

C++: #include<iostream>
using namespace std;

int main()
{
  int a,b,c,d;
  int n,cnt;

  while(cin >> n){
    cnt = 0;
    for(a=0;a<10;a++){
      for(b=0;b<10;b++){
	for(c=0;c<10;c++){
	  for(d=0;d<10;d++){
	    if(a+b+c+d==n)cnt++;
	  }
	}
      }
    }
    cout << cnt << endl;
  }
  return 0;
}