Q160: Factors and Factorials

階乘的數學表示式是 N!, 代表從 1 乘到 N 的結果, 如下:

1! = 1
N! = N * (N-1)!

階乘的成長速度相當驚人, 5! = 120, 10! = 3,628,800, 而表示階乘的其中一種方法是去紀錄每一個質因數出現的頻率。例如 825 這個值, 可以用數字序列 (0 1 2 0 1), 來表示 0 個 2, 1 個 3, 2 個 5, 0 個 7, 1 個 11。
所以數字序列中的每個元素是代表連續出現的質因數, 而上面的數值, 代表該質因數出現的頻率。

寫一個程式讀入一個數字 N (2<=N<=100), 算出階乘結果,以之前的方式來表示這個階乘。

Input

輸入有許多筆測試資料, 一筆一列, 每一列包含一個數字 N, 當 N=0 代表輸入結束, 這一列不該被處理。

Output

每一筆測試資料, 需要輸出一組區塊結果, 這組區塊, 先輸出 N! = , 接下來以上述的方式, 依序輸出該質因數在這個階乘中出現的頻率次數為何(長度3,靠右對齊), 請注意, 每一列最多只能印出 15 個質因數, 多餘的得換一列再印出。

詳細 輸出格式請參考 Sample Output。

Sample Input Sample Output
5
53
0
  5! =  3  1  1
 53! = 49 23 12  8  4  4  3  2  2  1  1  1  1  1  1
        1

Translated by Tino