+ محدودیت زمان: ۱ ثانیه
+ محدودیت حافظه: ۵۰ مگابایت
----------
+ تابع `fact` را بنویسید که عدد `n` را به عنوان ورودی دریافت کرده و فاکتوریل `n` را حساب کند:
$$fact(n)$$
+ با استفاده از تابع `fact` تابع `Comb` را بنویسید که دو عدد `n` و `m` را به عنوان ورودی دریافت کرده و ترکیب دو عدد `n` و `m` را حساب کند:
$$Comb(n,m)$$
+ با استفاده از تابع `Comb` تابع `Calc` را بنویسید که عدد `n` را به عنوان ورودی دریافت کرده و حاصل سری زیر را محاسبه کند:
$$Calc(n) = \sum_{i=1}^{n} \prod_{j=1}^{i} {i \choose j}$$
سپس به کمک توابع بالا برنامهای بنویسید که عدد `n` را از کاربر بگیرد و با استفاده از تابع `Calc` حاصل سری بالا را در خروجی نمایش دهد.
# ورودی
در تنها خط ورودی عدد $n$ آمده است.
$$0 \leq n \leq 100$$
# خروجی
در تنها خط خروجی جواب مسئله را چاپ کنید.
# مثال
## ورودی نمونه ۱
```
1
```
## خروجی نمونه ۱
```
1
```
## ورودی نمونه ۲
```
3
```
## خروجی نمونه ۲
```
12
```