#include <stdio.h>

#define MAX_FACTORS 100 // リスト（配列）の最大容量

int main() {
    long long num = 73513440; // 分解する整数（問題4の値を使用）
    long long temp = num;     // 計算用に数値をコピー
    int factors[MAX_FACTORS]; // 素因数を格納するリスト（配列）
    int count = 0;            // リストに格納された素因数の個数

    // 【手順1】2から順番に割っていき、素因数を見つける
    for (long long i = 2; i * i <= temp; i++) {
        // tempがiで割り切れる間、繰り返し割る
        while (temp % i == 0) {
            factors[count] = i; // 見つかった素因数をリストに追加
            count++;            // リストの要素数をインクリメント
            temp /= i;          // 数値を割った商で更新
        }
    }

    // 【手順2】最後に残った数が1より大きい場合、それ自体も素因数
    if (temp > 1) {
        factors[count] = temp;
        count++;
    }

    // 【手順3】結果の表示
    printf("%lld の素因数分解結果（リストの中身）:\n", num);
    for (int i = 0; i < count; i++) {
        printf("%d ", factors[i]);
    }
    printf("\n");

    return 0;
}