import sys

def dfs(a,b):

    if a==0:return 1

    elif b==0 or a < 0:return 0

    return sum([dfs(a-i,b-1) for i in range(10)])

for line in sys.stdin.readlines():

    print(dfs(int(line.strip()),4))
import sys

table={}

def memorize(f):

    global table

    def func(*args):

        if not args in table:

            table[args]=f(*args)

        return table[args]

    return func

@memorize

def dfs(a,b):

    if a==0:return 1

    elif b==0 or a < 0:return 0

    return sum([dfs(a-i,b-1) for i in range(10)])

for i in sys.stdin.readlines():

    print(dfs(int(i.strip()),4))
import sys


def dfs(a, b):
    if a == 0:
        return 1
    elif b == 0 or a < 0:
        return 0
    return sum([dfs(a - i, b - 1) for i in range(10)])


for line in sys.stdin.readlines():
    print(dfs(int(line.strip()), 4))

import sys

table = {}


def memorize(f):
    global table

    def func(*args):
        if not args in table:
            table[args] = f(*args)
        return table[args]

    return func


@memorize
def dfs(a, b):
    if a == 0:
        return 1
    elif b == 0 or a < 0:
        return 0
    return sum([dfs(a - i, b - 1) for i in range(10)])


for i in sys.stdin.readlines():
    print(dfs(int(i.strip()), 4))

+table = {} + +def memorize(f): +    global table + +    def func(*args): +        if not args in table: +            table[args] = f(*args) +        return table[args] + +    return func + + +@memorize -for line in sys.stdin.readlines(): -    print(dfs(int(line.strip()), 4)) +for i in sys.stdin.readlines(): +    print(dfs(int(i.strip()), 4))