#55151: cpp_answer


yp11451202@yphs.tp.edu.tw (705-38黃鈺潤)


#include <iostream>
#include <vector>

using namespace std;

int main() {
    // 提升 I/O 效率
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    
    int k;
    bool is_first = true;
    
    // 當 k = 0 時代表輸入結束
    while (cin >> k && k != 0) {
        // 每兩筆測資之間要有一個空行
        if (!is_first) {
            cout << "\n";
        }
        is_first = false;
        
        vector<int> S(k);
        for (int i = 0; i < k; i++) {
            cin >> S[i];
        }
        
        // 經典的 6 層巢狀迴圈,窮舉 C(k, 6) 的所有組合
        // 每一層的起點都是前一層的下一個位置,確保不重複、不逆序
        for (int i0 = 0; i0 < k - 5; i0++) {
            for (int i1 = i0 + 1; i1 < k - 4; i1++) {
                for (int i2 = i1 + 1; i2 < k - 3; i2++) {
                    for (int i3 = i2 + 1; i3 < k - 2; i3++) {
                        for (int i4 = i3 + 1; i4 < k - 1; i4++) {
                            for (int i5 = i4 + 1; i5 < k; i5++) {
                                // 依照題目格式輸出 6 個數字,中間用空格隔開
                                cout << S[i0] << " " 
                                     << S[i1] << " " 
                                     << S[i2] << " " 
                                     << S[i3] << " " 
                                     << S[i4] << " " 
                                     << S[i5] << "\n";
                            }
                        }
                    }
                }
            }
        }
    }
    
    return 0;
}