Problem:
Sum of 4 Integers

Write a program which reads an integer n and identifies the number of combinations of a, b, c and d (0 ≤ a, b, c, d ≤ 9) which meet the following equality:

a + b + c + d = n

For example, for n = 35, we have 4 different combinations of (a, b, c, d): (8, 9, 9, 9), (9, 8, 9, 9), (9, 9, 8, 9), and (9, 9, 9, 8).

Input

The input consists of several datasets. Each dataset consists of n (1 ≤ n ≤ 50) in a line. The number of datasets is less than or equal to 50.

Output

Print the number of combination in a line.

Sample Input

35
1

Output for the Sample Input

4
4

Solution in JAVA (judge verdict: Wrong Answer)

import static java.lang.Integer.parseInt;
import static java.lang.System.out;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main {

    public static void main(String[] args) {
        new Main().sum();
    }

    public void sum() {
        try (BufferedReader scan = new BufferedReader(new InputStreamReader(System.in))) {
            sum4Integer(scan);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void sum(String inputDataPath) {
        try (BufferedReader scan = new BufferedReader(
                new InputStreamReader(new FileInputStream(new File(inputDataPath))))) {
            sum4Integer(scan);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void sum4Integer(BufferedReader scan) throws NumberFormatException, IOException {
        String inDataStr;
        while ((inDataStr = scan.readLine()) != null && !"".equals(inDataStr)) {
            int combi = getCombi(getSumTwo(), getSumTwo(), parseInt(inDataStr));
            out.println(combi);
        }
    }

    private int getCombi(int[] abList, int[] cdList, int inData) {
        int combi = 0;
        for (int ab : abList) {
            for (int cd : cdList) {
                combi = (judgeSum(ab, cd, inData)) ? combi + 2 : combi;
            }
        }
        return combi;
    }

    private boolean judgeSum(int ab, int cd, int inData) {
        return (ab == inData - cd) ? true : false;
    }

    private int[] getSumTwo() {
        Set<Integer> sumList = new HashSet<>();
        for (int i = 0; i < 10; i++) {
            for (int j = i; j < 10; j++) {
                sumList.add(i + j);
            }
        }
        return setToArray(sumList);
    }

    private int[] setToArray(Set<Integer> sumList) {
        int abList[] = new int[19];
        int index = 0;
        for (int num : sumList) {
            abList[index++] = num;
        }
        return abList;
    }
}