TopCoder

Y(OwO)Y
真実より 優しい嘘をプリーズ

User's AC Ratio

90.6% (154/170)

Submission's AC Ratio

55.6% (228/410)

Tags

Description

有天爸爸交代小明幫忙把寫好的信裝進信封裡,信與信封上的名字要配對。例如:給王大毛的信要裝到寫有王大毛的信封。這時頑皮的小明想到一個惡作劇,就是把所有人的信與信封都裝錯;也就是說沒有一個人會收到正確寄給自己的信。例如

A 收到 B 的信,
B 收到 C 的信,
C 收到 A 的信。

請幫小明算算,到底有多少種裝法可以不讓任何人收到應該寄給自己的信。

Input Format

輸入檔可能包含多筆測試資料,每筆測試資料佔一列包含一個正整數 $n$($0<n<20$),$n$ 代表有多少個收信人。$n=0$ 時代表輸入結束。

Output Format

對於每一筆測試資料請輸出一個 $k$,$k$ 代表有幾種裝法可以讓每個收信人都不是收到應該寄給自己的信。

Sample Input 1

1
2
3
0

Sample Output 1

0
1
2

Hints

Problem Source

原TIOJ1086 / 94建中校內資訊能力競賽(prob 4)

Subtasks

No. Testdata Range Score
1 0 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 100 65536 262144 1