#include <iostream>
#include <ctime>
#include <algorithm>
using namespace std;
int N, A[1 << 18];
int Rand() {
return (rand() % 32768) * 32768 + (rand() % 32768);
}
void Generate_01_Random(int NN) {
N = NN;
for (int i = 1; i <= N; i++) A[i] = Rand() % 1000000000 + 1;
}
void Generate_02_Max(int NN) {
N = NN;
for (int i = 1; i <= N; i++) A[i] = 1000000000;
}
void Generate_03_Min(int NN) {
N = NN;
for (int i = 1; i <= N; i++) A[i] = 1;
}
void Generate_04_Sorted(int NN) {
N = NN;
for (int i = 1; i <= N; i++) A[i] = Rand() % 1000000000 + 1;
sort(A + 1, A + N + 1);
}
void Generate_05_Corner(int NN) {
N = NN;
for (int i = 1; i <= N; i++) A[i] = (i % 2) + 1;
}
void Generate_06_Hanshin(int NN) {
N = NN;
for (int i = 1; i <= N; i++) A[i] = 334 * 1000000 + Rand() % 1000000;
}
int main() {
srand((unsigned)time(NULL));
// ここで書き込むファイルを設定する
FILE* in = freopen("in1.txt", "w", stdout);
// テストケース生成をする関数を実行する
Generate_01_Random(100);
// 入力データをファイルに書き込む(出力する)
cout << N << endl;
for (int i = 1; i <= N; i++) {
if (i >= 2) cout << " ";
cout << A[i];
}
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgTiwgQVsxIDw8IDE4XTsKCmludCBSYW5kKCkgewoJcmV0dXJuIChyYW5kKCkgJSAzMjc2OCkgKiAzMjc2OCArIChyYW5kKCkgJSAzMjc2OCk7Cn0KCnZvaWQgR2VuZXJhdGVfMDFfUmFuZG9tKGludCBOTikgewoJTiA9IE5OOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gTjsgaSsrKSBBW2ldID0gUmFuZCgpICUgMTAwMDAwMDAwMCArIDE7Cn0KCnZvaWQgR2VuZXJhdGVfMDJfTWF4KGludCBOTikgewoJTiA9IE5OOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gTjsgaSsrKSBBW2ldID0gMTAwMDAwMDAwMDsKfQoKdm9pZCBHZW5lcmF0ZV8wM19NaW4oaW50IE5OKSB7CglOID0gTk47Cglmb3IgKGludCBpID0gMTsgaSA8PSBOOyBpKyspIEFbaV0gPSAxOwp9Cgp2b2lkIEdlbmVyYXRlXzA0X1NvcnRlZChpbnQgTk4pIHsKCU4gPSBOTjsKCWZvciAoaW50IGkgPSAxOyBpIDw9IE47IGkrKykgQVtpXSA9IFJhbmQoKSAlIDEwMDAwMDAwMDAgKyAxOwoJc29ydChBICsgMSwgQSArIE4gKyAxKTsKfQoKdm9pZCBHZW5lcmF0ZV8wNV9Db3JuZXIoaW50IE5OKSB7CglOID0gTk47Cglmb3IgKGludCBpID0gMTsgaSA8PSBOOyBpKyspIEFbaV0gPSAoaSAlIDIpICsgMTsKfQoKdm9pZCBHZW5lcmF0ZV8wNl9IYW5zaGluKGludCBOTikgewoJTiA9IE5OOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gTjsgaSsrKSBBW2ldID0gMzM0ICogMTAwMDAwMCArIFJhbmQoKSAlIDEwMDAwMDA7Cn0KCmludCBtYWluKCkgewoJc3JhbmQoKHVuc2lnbmVkKXRpbWUoTlVMTCkpOwoKCS8vIOOBk+OBk+OBp+abuOOBjei+vOOCgOODleOCoeOCpOODq+OCkuioreWumuOBmeOCiwoJRklMRSogaW4gPSBmcmVvcGVuKCJpbjEudHh0IiwgInciLCBzdGRvdXQpOwoKCS8vIOODhuOCueODiOOCseODvOOCueeUn+aIkOOCkuOBmeOCi+mWouaVsOOCkuWun+ihjOOBmeOCiwoJR2VuZXJhdGVfMDFfUmFuZG9tKDEwMCk7CgoJLy8g5YWl5Yqb44OH44O844K/44KS44OV44Kh44Kk44Or44Gr5pu444GN6L6844KA77yI5Ye65Yqb44GZ44KL77yJCgljb3V0IDw8IE4gPDwgZW5kbDsKCWZvciAoaW50IGkgPSAxOyBpIDw9IE47IGkrKykgewoJCWlmIChpID49IDIpIGNvdXQgPDwgIiAiOwoJCWNvdXQgPDwgQVtpXTsKCX0KCWNvdXQgPDwgZW5kbDsKCXJldHVybiAwOwp9