int factor[1600], m = 0;
for(int i = 1; i <= sqrt(n); i++){
if(n%i == 0){
factor[++m] = i;
if(i != n%i) factor[++m] = n/i;
}
}
for(int i = 1; i <= m; i++){
cout << factor[i] << " ";
}
vector<int> factor[500010];
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n/i; j++){
factor[i*j].push_back(i);
}
for(int i = 1; i <= n; i++){
for(int j = 0; j < factor[i].size(); j++){
printf("%d ", factor[i][j]);
}
printf("\n");
}
}