Because of budget cuts one IT company established new non-financial reward system instead of bonuses.

Two kinds of actions are rewarded: fixing critical bugs and suggesting new interesting features. A man who fixed a critical bug gets "I fixed a critical bug" pennant on his table. A man who suggested a new interesting feature gets "I suggested a new feature" pennant on his table.

Because of the limited budget of the new reward system only 5 "I fixed a critical bug" pennants and 3 "I suggested a new feature" pennants were bought.

In order to use these pennants for a long time they were made challenge ones. When a man fixes a new critical bug one of the earlier awarded "I fixed a critical bug" pennants is passed on to his table. When a man suggests a new interesting feature one of the earlier awarded "I suggested a new feature" pennants is passed on to his table.

One man can have several pennants of one type and of course he can have pennants of both types on his table. There are n tables in the IT company. Find the number of ways to place the pennants on these tables given that each pennant is situated on one of the tables and each table is big enough to contain any number of pennants.


-----Input-----

The only line of the input contains one integer n (1 ≤ n ≤ 500) — the number of tables in the IT company.


-----Output-----

Output one integer — the amount of ways to place the pennants on n tables.


-----Examples-----
Input
2

Output
24

Difficulty: interview

Starter code:

Solutions:
n = int(input())
c1 = n
c2 = (n * (n-1)) // 2
c3 = (n * (n-1) * (n-2)) // (2*3)
c4 = (n * (n-1) * (n-2) * (n-3)) // (2*3*4)
c5 = (n * (n-1) * (n-2) * (n-3) * (n-4)) // (2*3*4*5)
w1 = 0
w1 += c1
w1 += c2 * 2
w1 += c3 
w2 = 0
w2 += c1
w2 += c2 * 4
w2 += c3 * 6
w2 += c4 * 4
w2 += c5
print(w1*w2)

n = int(input())

print((n+2)*(n+1)*n//6 * (n+4)*(n+3)*(n+2)*(n+1)*n//120)

from functools import reduce
from math import factorial
n = int(input())
C_n_k = lambda n, k: reduce(lambda x, y: x*y, list(range(n, n-k, -1))) // factorial(k)
print(C_n_k(n+4, 5) * C_n_k(n+2, 3))


n = int(input())

def fact(n):
    return 1 if n == 0 else (n * fact(n - 1))

def c(n, k):
    return fact(n) // (fact(k) * (fact(n - k)))
def f(n, x):
    return c(x + n - 1, n - 1)

print(f(n, 3) * f(n, 5))


n = int(input())
print (n * (n + 1) * (n + 2) * (n + 3) * (n + 4) // 120 * n * (n + 1) * (n + 2) // 6)

import math
n = int(input())
print(math.factorial(n+4)//(math.factorial(5)*math.factorial(n-1))*math.factorial(n+2)//(math.factorial(3)*math.factorial(n-1)))


def fact(i):
  ans = 1
  for j in range(1, i + 1):
    ans *= j
  return ans

def c(i, j):
  return fact(i + j - 1) // (fact(j) * fact(i - 1))

n = int(input())
print(c(n, 5) * c(n, 3))

def C(frm, what):
    ans = 1
    for i in range(what):
        ans *= frm - i
        ans = ans // (i + 1)
    return ans

n = int(input())
print (C(4 + n, n - 1) * C(2 + n, n - 1))

from math import factorial

def C(n, k):
    return factorial(n) // factorial(k) // factorial(n - k)

def main():
    n = int(input())
    print(C(n+4, 5) * C(n+2, 3))

def __starting_point():
    main()
__starting_point()

def pol(n,k):
    ans = 1
    for i in range(k):
        ans *= (n-i)/(i+1)
    k = int(ans)
    if abs(k - ans) < 1/2:
        return k
    return k + 1
n = int(input())
pr = pol(n + 2,3) * pol(n+4,5)
print(pr)

n = int(input())

#C(n + 5 - 1, n - 1) = C(n + 4, 5)

ans1 = 1
for i in range(5):
	ans1 *= (n + 4 - i)
for i in range(1, 6):
	ans1 //= i

ans2 = 1
for i in range(3):
	ans2 *= (n + 2 - i)
for i in range(1, 4):
	ans2 //= i

print(ans1 * ans2)


n = int(input())
a = n*(n+1)*(n+2)*(n+3)*(n+4) // 120
b = n*(n+1)*(n+2) // 6
print(a*b)

n = int(input())

r1 = n * (n + 1) * (n + 2) * (n + 3) * (n + 4) // 120
r2 = n * (n + 1) * (n + 2) // 6
print(r1 * r2)

def C(n,m):
    if m > n:
        return 0
    elif m == n:
        return 1
    elif m == 1:
        return n

    a = 1
    b = 1
    for i in range(1,m+1):
        a *= n+1-i
        b *= i
    return a//b

def __starting_point():

    n = int(input())

    a = C(n,1) + 4*C(n,2) + 6*C(n,3) + 4*C(n,4) + C(n,5)
    b = C(n,1) + 2*C(n,2) + C(n,3)

    print(a*b)
__starting_point()

n=int(input())
from math import factorial
def c(n, r):
    return factorial(n) // factorial(r) // factorial(n-r)
print(c(n+5-1,5) * c(n+3-1,3))


n=int(input())
d=1
ans1=ans2=0
for i in range(n, n+5):
	d*=i
ans1=d//120
d=1
for i in range(n, n+3):
	d*=i
ans2=d//6
print(ans1*ans2)

n = int(input())
cn1 = n
cn2 = (n * (n - 1)) // 2
cn3 = (cn2 * (n - 2)) // 3
cn4 = (cn3 * (n - 3)) // 4
cn5 = (cn4 * (n - 4)) // 5
a = cn1 + 4 * cn2 + 6 * cn3 + 4 * cn4 + cn5
b = cn1 + 2 * cn2 + cn3
print(a * b)


n = int(input())
dp = [[0] * (n + 7) for i in range(7)]

for j in range(n + 1):
	dp[0][j] = 1

for i in range(5):
	for j in range(1, n + 1):
		for k in range(5):
			dp[i][j] += dp[i - k][j - 1]

print(dp[2][n] * dp[4][n])


import re, sys, string, operator, functools, fractions, collections
sys.setrecursionlimit(10**7)
dX= [-1, 1, 0, 0,-1, 1,-1, 1]
dY= [ 0, 0,-1, 1, 1,-1,-1, 1]
RI=lambda x=' ': list(map(int,input().split(x)))
RS=lambda x=' ': input().rstrip().split(x)
mod=int(1e9+7)
eps=1e-6
#################################################
n=RI()[0]
v1=1
v2=1
for i in range(n-1):
    v1*=(6+i)
    v2*=(4+i)
for i in range(1,n):
    v1//=i
    v2//=i
print(v1*v2)


from math import factorial as f

n = int(input())

def b(n, k):
	return f(n)//f(k)//f(n-k)
	
s5 = n
if (n > 1):
	s5 += n*(n-1)*2
	if (n > 2):
		s5 += n*(n-1)*(n-2)//2*2
		if (n > 3):
			s5 += n*(n-1)*(n-2)*(n-3)//f(3)
			if (n > 4):
				s5 += n*(n-1)*(n-2)*(n-3)*(n-4)//f(5)
		
s3 = n
if (n > 1):
	s3 += n*(n-1)
	if (n > 2):
		s3 += n*(n-1)*(n-2)//6
		
#print(s5, s3)
print(s5*s3)

n = int(input())

a = (n + 4) * (n + 3) * (n + 2) * (n + 1) * n // 2 // 3 // 4 // 5
b = (n + 2) * (n + 1) * n // 2 // 3

print(a * b)

import math

def choose(n,r):
	return math.factorial(n) // math.factorial(r) // math.factorial(n-r)

n = int(input())

f = math.factorial

result = choose(n-1+5,5)*choose(n-1+3,3)

#result = n**8 // (f(3)*f(5))

print(result)

import math
f = math.factorial
def C(n, k):
    if k > n:
        return 1
    return f(n) // f(k) // f(n - k)

n = int(input())

ans1 = C(n, 1)
if n > 1:
    ans1 += 2 * C(n, 2)
if n > 2:
    ans1 += C(n, 3)

ans2 = C(n, 1)
if n > 1:
    ans2 += 4 * C(n, 2)
if n > 2:
    ans2 += 6 * C(n, 3)
if n > 3:
    ans2 += 4 * C(n, 4)
if n > 4:
    ans2 += C(n, 5)

print(ans1 * ans2)


n = int(input())
ans = 0
t = n+4
w = 5
q = 1
while (w>0):
	q*=t
	t-=1
	w-=1
ans = q//120
ans *= n*(n+1)*(n+2)
ans = ans//6
print (ans)