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 <iostream>
#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <list>
#include <stack>
#include <queue>
#include <algorithm>
#include <complex>
using namespace std;

typedef pair<int, int> pii;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<string> vs;

#ifndef typeof
#define typeof __typeof__
#endif // typeof

#define all(c) (c).begin(), (c).end()
#define rall(c) (c).rbegin(), (c).rend()
#define tr(c, i) for(typeof((c).begin()) i = (c).begin(); i != (c).end(); i++)
#define rtr(c, i) for(typeof((c).rbegin()) i = (c).rbegin(); i != (c).rend(); i++)
#define repby(i, a, b, step) for(typeof(b) i = (a); i < (b); i += (step))
#define repab(i, a, b) repby(i, (a), (b), 1)
#define rep(i, n) repab(i, 0, (n))
#define pb push_back
#define sz(c) int((c).size())

int nsums(int n, int x)
{
  int res = 0;

  for (int a = 0; a < x; a++) {
    for (int b = a; b < x; b++) {
      for (int c = b; c < x; c++) {
        for (int d = c; d < x; d++) {
          if (a + b + c + d == n) {
            vi v;
            v.pb(a); v.pb(b); v.pb(c); v.pb(d);
            do {
              res++;
            } while (next_permutation(all(v)));
          }
        }
      }
    }
  }
  return res;
}

int main(int argc, char **argv)
{
  int n;

  while (cin >> n) {
    cout << nsums(n, 10) << endl;
  }

  return 0;
}

C++: #include <iostream>
using namespace std;
int solve(int n){
    int ans=0;
    for(int i=0;i<10;i++){
        for(int j=0;j<10;j++){
            for(int k=0;k<10;k++){
                if(n-i-j-k>-1&&n-i-j-k<10)ans++;
            }
        }
    }
    return ans;
}
int main(){
    int n;
    while(cin>>n){
        cout<<solve(n)<<endl;
    }
    return 0;
}

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

int main(){

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


  return 0;
}

C++: #include <iostream>

int main()
{
	int i, j, k, l;
	int n;
	int count = 0;
	
	std::cin >> n;
	
	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) {
						count++;
					}
				}
			}
		}
	}
	
	std::cout << count << std::endl;
	
	return 0;
}

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

int main(){

  int n,count=0;

  while(cin >> n){

    count=0;

    for(int i=0;i<10;i++){
      for(int j=0;j<10;j++){
	for(int s=0;s<10;s++){
	  for(int t=0;t<10;t++){
	    if(i+j+s+t==n) count++;
	  }
	}
      }
    }

    cout << count << endl;
  }
}

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

int main()
{
int n;
while(cin>>n){
int res=0;
for(int n1=0;n1<=9;n1++)
for(int n2=0;n2<=9;n2++)
for(int n3=0;n3<=9;n3++)
for(int n4=0;n4<=9;n4++)
if(n1+n2+n3+n4==n) res++;
cout<<res<<endl;
}
}

C++: #include <iostream>
#include <cstdio>
#include <vector>
#include <string>
#include <array>
#include <queue>
#include <deque>
#include <set>
#include <list>
#include <map>
#include <stack>
#include <utility>
#include <algorithm>
#include <numeric>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cctype>
#include <cstring>
#include <climits>
#include <bitset>
#include <random>
#include <functional>
#include <sstream>
#include <iomanip>

using namespace std;

#define _CRT_SECURE_NO_WARNINGS
#define rep(i, n) for(int i=0; i<(n); i++)
#define FOR(i, m, n) for(int i=(m);i<(n);i++)
#define SZ(x) ((int)(x).size())
#define all(x) (x).begin(),(x).end()
#define SORT(x) sort((x).begin(),(x).end())
#define REVE(x) reverse((x).begin(),(x).end())
#define mp make_pair
#define pb push_back

typedef vector<int> VI;
typedef vector<string> VS;
typedef vector<vector<int>> VVI;
typedef pair<int, int> PII;
typedef long long LL;

int main() {
	int n;
	while (cin >> n) {
		int cnt = 0;
		rep(a, 10)rep(b, 10)rep(c, 10)rep(d, 10) {
			if (a + b + c + d == n)cnt++;
		}
		cout << cnt << endl;
	}
}

C++: #include<bits/stdc++.h>
using namespace std;
int n,cnt;
void sach(int x,int sum){
  if(x==4){
    if(sum==n) cnt++;
    return;
  }
  for(int i=0;i<10;++i) sach(x+1,sum+i);
}
int main(){
  while(cin>>n){
    cnt=0;
    sach(0,0);
    cout<<cnt<<endl;
  }
  return 0;
}

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

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

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

int main() {
	int n, t = 0;
	cin >> n;
	for(int i = 1;i < 10;++i){
     	for(int o = 1;o < 10;++o){
     		for(int p = 1;p < 10;++p){
     		   for(int l = 1;l < 10;++l){
     		   	 if(i + o + p + l == n)
     		   	   t++;
     		   }
     		}
     	    }
	}
	cout << t << endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	int n, a, b, c, d, count,p[1000],l=0;
	while (cin >> n){
		count=0;
		for (a = 0; a < 10; a++){
			if (n - a >= 27){
				for (b = 0; b < 18; b++){
					if (n - a - b >= 18){
						for (c = 0; c < 9; c++){
							if (n - a - b - c >= 9){
								for (d = 0; d < 9; d++){
									if (n - a - b - c - d == 0)
										count++;
								}
							}
						}
					}
				}
			}
		}
		p[l] = count;
		l++;
	}
	for (int m = 0; m < l; m++)
		cout << p[m] << endl;
}

C++: #include <iostream>

using namespace std;

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

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

int dfs(int n, int cnt) {
    if (n == 0) return 1;
    if (cnt == 4) return 0;

    int ret = 0;
    for (int i = 0; i < 10; i++) {
        ret += dfs(n-i, cnt+1);
    }

    return ret;
}

int main(void) {
    int n;
    while (cin >> n) {
        int ret = dfs(n, 0);
        cout << ret << endl;
    }

    return 0;
}

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



int main() {
	int a, b, c, d, n;
	int ans = 0;
	while (cin >> n) {
		
		for (a = 0; a <= 9; a = a + 1) {
			for (b = 0; b <= 9; b = b + 1) {
				for (c = 0; c <= 9; c = c + 1) {
					for (d = 0; d <= 9; d = d + 1) {
						if (a + b + c + d == n) {
							ans = ans + 1;
						}
					}
				}
			}
		}
	}
	cout << ans << '\n';
	return 0;
}