#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
int N, M;
cin >> N >> M; // Taking input for N and M
vector<string> input(N);
// Taking input for N strings
for (int i = 0; i < N; ++i) {
cin >> input[i];
}
// Generate combinations in order
for (int i = 0; i < M; ++i) { // For each position (K)
for (int j = 0; j < N; ++j) { // For each input string
cout << input[j][i]; // Output the character at position 'i' from input string 'j'
}
cout << " ";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgaW50IE4sIE07CiAgICBjaW4gPj4gTiA+PiBNOyAvLyBUYWtpbmcgaW5wdXQgZm9yIE4gYW5kIE0KCiAgICB2ZWN0b3I8c3RyaW5nPiBpbnB1dChOKTsKICAgIC8vIFRha2luZyBpbnB1dCBmb3IgTiBzdHJpbmdzCiAgICBmb3IgKGludCBpID0gMDsgaSA8IE47ICsraSkgewogICAgICAgIGNpbiA+PiBpbnB1dFtpXTsKICAgIH0KCiAgICAvLyBHZW5lcmF0ZSBjb21iaW5hdGlvbnMgaW4gb3JkZXIKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTTsgKytpKSB7IC8vIEZvciBlYWNoIHBvc2l0aW9uIChLKQogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgTjsgKytqKSB7IC8vIEZvciBlYWNoIGlucHV0IHN0cmluZwogICAgICAgICAgICBjb3V0IDw8IGlucHV0W2pdW2ldOyAvLyBPdXRwdXQgdGhlIGNoYXJhY3RlciBhdCBwb3NpdGlvbiAnaScgZnJvbSBpbnB1dCBzdHJpbmcgJ2onCiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgIiAiOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==