Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

var scanner = bufio.NewScanner(os.Stdin)

func nextString() string {
	scanner.Scan()
	return scanner.Text()
}

func nextInt() (int, error) {
	return strconv.Atoi(nextString())
}

func main() {
	scanner.Split(bufio.ScanWords)

	counts := map[int]int{}
	for i := 0; i < 10; i++ {
		for j := 0; j < 10; j++ {
			for k := 0; k < 10; k++ {
				for l := 0; l < 10; l++ {
					s := i + j + k + l
					if s <= 50 {
						counts[s]++
					}
				}
			}
		}
	}
	// fmt.Println(counts)
	for {
		n, err := nextInt()
		if err != nil {
			break
		}
		cnt, ok := counts[n]
		if ok {
			fmt.Println(cnt)
		} else {
			fmt.Println(0)
		}
	}
}

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

int dp[2][51];

int main()
{
	while(1)
	{
		int n;
		if(EOF == scanf("%d",&n))
		{
			break;
		}
		int now = 0;
		for(int i = 0; i <= 50; i++)
		{
			dp[now][i] = 0;
		}
		dp[now][0] = 1;
		for(int k = 0; k < 4; k++)
		{
			int nex = (now + 1) % 2;
			for(int i = 0; i <= 50; i++)
			{
				dp[nex][i] = 0;
			}
			for(int j = 0; j <= 50; j++)
			{
				for(int i = 0; i <= 9; i++)
				{
					if(j + i <= 50)
					{
						dp[nex][j + i] += dp[now][j];
					}
				}
			}
			now = nex;
		}
		printf("%d\n",dp[now][n]);
	}
	return 0;
}

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

using namespace std;

int main(int argc, char *argv[]) {
  int n;
  vector<int> result;

  while (cin >> n) {
    if (n > 36 || n < 0) {
      result.push_back(0);
    } else {
      int tmp = 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)
                tmp++;
      result.push_back(tmp);
    }
  }
  for (int i = 0; i < result.size(); i++) 
    cout << result[i] << endl;
  return 0;
}

C++: /*
    ????????°??§???????????¨????????????
*/

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <limits.h>
#include <float.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <iterator>
#include <vector>
#include <map>
#include <utility>
#define LLU unsigned long long int
#define LL long long int
#define LD long double
using namespace std;
#define Lfmax DBL_MAX
#define LLUmax ULLONG_MAX
#define LLmax LLONG_MAX
#define dmax INT_MAX
#define vd vector<int>
#define vLL vector<long long int>
#define vLLU vector<unsigned long long int> 
#define pb push_back
#define mp make_pair
#define fi first
#define sec second
#define debug printf("asd\n")
#define debugd(a) printf("--%d\n",a)
#define debugdd(a,b) printf("--%d %d\n",a,b)
#define debugarr(a,b) for(int i=0 ; i<b ; i++)printf("%d ",a[i]);printf("\n")
#define newline printf("\n")
#define forin(a,b,c) for(int a=b ; a<c ; a++)
#define forde(a,b,c) for(int a=b ; a<c ; a--)


inline void scd(int &a){scanf("%d",&a);}
inline void scdd(int &a,int &b){scanf("%d %d",&a,&b);}
inline void sctd(int &a,int &b,int &c){scanf("%d %d %d",&a,&b,&c);}
inline void scdlld(long int &a,long int &b){scanf("%I64d %I64d",&a,&b);}
inline void sclld(long long int &a){scanf("%I64d",&a);}

#define scarrd(a,b) for(int index=0 ; index<b ; index++)scanf("%d",&a[index])
#define prdlld(a,b) printf("%I64d %I64d",a,b)
#define prdd(a,b) printf("%d %d",a,b)
#define prd(a) printf("%d",a)
#define prarr(a,b) for(int i=0 ; i<b ; i++)printf("%d ",a[i])
#define iniarr(a,b) for(int i=0 ; i<b ;i++)a[i]=0
#define arr(a,b) int *a=(int *)malloc(b*sizeof(int))
#define llarr(a,b) long long int *a=(long long int *)malloc(b*sizeof(long long int))
#define st(a,b) char *a=(char *)malloc(b*sizeof(char))
#define grav 9.8
#define pi 3.14159265

int main()
{
	float n;
	while(scanf("%f",&n)!=EOF)
	{
		int d=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++)
					{
						int x=i+j+k+l;
						//printf("--%d %d %d %d == %d\n",i,j,k,l,x);
						if(x==n)
						{
							//printf("%d %d %d %d\n",i,j,k,l);
							d++;
							break;
						}
						
					}
				}
			}
		}
		printf("%d\n",d);
	}
	return 0;
}

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

int main(){
	int n[36]={};
	int 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++){
					n[a+b+c+d]+=1;
				}
			}
		}
	}

	while(cin>>m){
		cout << n[m] << endl;
	}

	return 0;
}

C++: #include <iostream>

using namespace std;
int main(void){
    // Here your code !

int n;

while(cin>>n){
    int count=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) count++;
        }}}}
cout<<count<<endl;
}

}

C++: #include <iostream>

using namespace std;

int main() {
	int n, count;
	while (cin >> n) {
		count = 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) {
							count++;
						}
					}
				}
			}
		}
		cout << count << endl;
	}
	return 0;
}

C++: #define _CRT_SECURE_NO_WARNINGS
#define _USE_MATH_DEFINES
#include <stdio.h>
#include <algorithm>
#include <functional>
#include <cstring>
#include <queue>
#include <stack>
#include <math.h>
#include <iterator>
#include <vector>
#include <string>
#include <set>
#include <math.h>
#include <iostream>
using namespace std;
int main(){
	int n;
	int dp[5][51] = {};
	for (int i = 0;i < 10;++i) dp[1][i] = 1;
	for (int i = 2;i < 5;++i) {
		for (int q = 0;q <= 9;++q) {
			for (int p = 0;p <= 9 * i;++p) {
				dp[i][p + q] += dp[i - 1][p];
			}
		}
	}
	while (cin >> n) {
		printf("%d\n", dp[4][n]);
	}
}

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

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

int main() {
      int a,b,c,d,count;
      count = 0;
      int num[100];
      int max;
      int n;
      
      for (int v=0;v<100;v++) {
      	num[v] = 100;
      	cin >> num[v];
      	if (!(0<=num[v]&&num[v]<=50)){
      		max = v-1;
      		break;
      	}
      }
      for (int w=0;w<=max;w++){
      	n=num[w];
      	count = 0;
      	for (int i=0;i<=9;i++) {
            a=i;
            if (n-a<0) {

            	break;
            }
            for (int j=0;j<=n-a&&j<=9;j++) {
            	b=j;
            	if (n-a-b < 0) {
            		break;
            	}
            	for (int k=0;k<=n-a-b&&k<=9;k++) {
            		c=k;
            		if (n-a-b-c < 0) {
            			break;
            		}
            		
            		for (int l=0;l<=n-a-b-c&&l<=9;l++) {
            			d=l;
            			if (n==a+b+c+d) {
            				//cout << a << b << c << d <<(a+b+c+d)<<endl;
            				count++;
            			}
            			if (n-a-b-c-d < 0) {
            			break;
            		}
            		}
            	}
            }
      }
      
      cout << count <<endl<<endl;
      }
      return 0;
}

C++: #include <stdio.h>

int main(void) {
	int a,b,c,d,n,i;
	while(scanf("%d",&n) != EOF){
	i = 0;
	for(a = 0; 10 > a; a++){
		for(b = 0; 10 > b; b++){
	for(c = 0; 10 > c; c++){
	for(d = 0; 10 > d; d++){
		if(a+b+c+d == n)i++;
	}	
	}	
	}
	}
	printf("%d\n",i);
	}
	
	return 0;
}

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

int main() {
	int a, b, c, d, n, count;
	
	while (cin >> n) {
		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;
}