#include <iostream>
using namespace std;
int n, m, table[21][21], erase_col = 0, prime_nrs = 0;
int prime(int n) {
if(n < 2) {
return 0;
}
for(int d = 2; d * d <= n; ++d) {
if(n % d == 0) {
return 0;
}
}
return 1;
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
cin >> table[i][j];
}
}
int j = 1;
while (j <= m) {
prime_nrs = 0;
for (int i = 1; i <= n; ++i) {
if (prime(table[i][j]) == 1) {
++prime_nrs;
}
}
if (prime_nrs == n && n > 1) {
int line;
erase_col = 1;
for (line = 1; line < n; ++line) {
if (table[line][j] >= table[line + 1][j]) {
erase_col = 0;
}
}
if (erase_col == 1) {
for (int col = j; col < m; ++col) {
for (line = 1; line <= n; ++line) {
table[line][col] = table[line][col + 1];
}
}
--m;
} else {
++j;
}
} else {
++j;
}
}
if (m == 0) {
n = 0;
cout << n << ' ' << m << '\n';
} else {
cout << n << ' ' << m << '\n';
}
for (int i = 1; i <= n; ++i) {
for (j = 1; j <= m; ++j) {
cout << table[i][j] << ' ';
}
cout << '\n';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG4sIG0sIHRhYmxlWzIxXVsyMV0sIGVyYXNlX2NvbCA9IDAsIHByaW1lX25ycyA9IDA7CgppbnQgcHJpbWUoaW50IG4pIHsKICAgIGlmKG4gPCAyKSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICBmb3IoaW50IGQgPSAyOyBkICogZCA8PSBuOyArK2QpIHsKICAgICAgICBpZihuICUgZCA9PSAwKSB7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAxOwp9CgppbnQgbWFpbigpIHsKICAgIGNpbiA+PiBuID4+IG07CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKICAgICAgICBmb3IgKGludCBqID0gMTsgaiA8PSBtOyArK2opIHsKICAgICAgICAgICAgY2luID4+IHRhYmxlW2ldW2pdOwogICAgICAgIH0KICAgIH0KICAgIGludCBqID0gMTsKICAgIHdoaWxlIChqIDw9IG0pIHsKICAgICAgICBwcmltZV9ucnMgPSAwOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewogICAgICAgICAgICBpZiAocHJpbWUodGFibGVbaV1bal0pID09IDEpIHsKICAgICAgICAgICAgICAgICsrcHJpbWVfbnJzOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChwcmltZV9ucnMgPT0gbiAmJiBuID4gMSkgewogICAgICAgICAgICBpbnQgbGluZTsKICAgICAgICAgICAgZXJhc2VfY29sID0gMTsKICAgICAgICAgICAgZm9yIChsaW5lID0gMTsgbGluZSA8IG47ICsrbGluZSkgewogICAgICAgICAgICAgICAgaWYgKHRhYmxlW2xpbmVdW2pdID49IHRhYmxlW2xpbmUgKyAxXVtqXSkgewogICAgICAgICAgICAgICAgICAgIGVyYXNlX2NvbCA9IDA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGVyYXNlX2NvbCA9PSAxKSB7CiAgICAgICAgICAgICAgICBmb3IgKGludCBjb2wgPSBqOyBjb2wgPCBtOyArK2NvbCkgewogICAgICAgICAgICAgICAgICAgIGZvciAobGluZSA9IDE7IGxpbmUgPD0gbjsgKytsaW5lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlW2xpbmVdW2NvbF0gPSB0YWJsZVtsaW5lXVtjb2wgKyAxXTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAtLW07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICArK2o7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICArK2o7CiAgICAgICAgfQogICAgfQogICAgaWYgKG0gPT0gMCkgewogICAgCW4gPSAwOwogICAgCWNvdXQgPDwgbiA8PCAnICcgPDwgbSA8PCAnXG4nOwogICAgfSBlbHNlIHsKICAgIAljb3V0IDw8IG4gPDwgJyAnIDw8IG0gPDwgJ1xuJzsgIAkKICAgIH0KICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewogICAgICAgIGZvciAoaiA9IDE7IGogPD0gbTsgKytqKSB7CiAgICAgICAgICAgIGNvdXQgPDwgdGFibGVbaV1bal0gPDwgJyAnOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8ICdcbic7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==