#1.阶乘求和 s=1!+2!+3!+...+n!
n=int(input("n="))
#外层计算加法,内层计算阶乘
res=0
for i in range(1,n+1,1):
now_res = 1
for j in range(1,i+1,1):
now_res=now_res*j
res = res + now_res
print(res,now_res)
# # #for循环:已知循环次数
# # #while循环:未知循环次数
# 跳出循环的break continue
# stop=False
# for i in range(5):
# for j in range(5):
# print("i=",i,"j=",j)
# if i==3 and j==3:
# stop = True
# break
# # if stop:
# # break
# #1.阶乘求和 s=1!+2!+3!+...+n!
# n=int(input("n="))
# #外层计算加法,内层计算阶乘
# res=0
# for i in range(1,n+1,1):
# now_res = 1
# for j in range(1,i+1,1):
# now_res=now_res*j
# res = res + now_res
# print(res,now_res)
# #
# # 2.买鸡 500r 90只 母鸡15r 公鸡10r 小鸡5r 正好把钱买完
# # x,y,z
# # 思路一:三重for循环
# # count=0
# # for x in range(0,91,1):
# # for y in range(0, 91, 1):
# # for z in range(0, 91, 1):
# # count=count+1
# # if 15*x+10*y+5*z==500 and x+y+z==90:
# # print(x,y,z)
# # print(count)
# # #思路二:实际范围和数学简化
# # count=0
# # for x in range(0,34,1):
# # for y in range(0, 51, 1):
# # z=90-x-y
# # count=count+1
# # if 15*x+10*y+5*z==500 and x+y+z==90:
# # print(x,y,z)
# # print(count)
# # #思路三:实际范围和数学简化
# # for x in range(1,6,1):
# # y=10-2*x
# # z=80+x
# # print(x,y,z)
#
# # 3.打印三角形
# n=int(input("n="))
# for i in range(1,n+1):
# for j in range(1,i+1):
# print("*",end="")
# print("")
#
# # 4.水仙花数
# for i in range(100,1000):
# a=i//100
# b=i//10%10
# c=i%10
# if a**3+b**3+c**3==i :
# print(i)
# # 5.print L~R的所有素数
# L=int(input("L:"))
# R=int(input("R:"))
#
# for i in range(L,R+1):
# ok = True
# for j in range(2,i):
# if i%j==0:
# ok=False
# break
# if ok and i!=1:
# print(i)
#
# 6.打印日期