#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <string>
#include <iterator>
typedef std::vector<std::vector<int>> Mat;
std::ostream& operator <<(std::ostream& os, const Mat& mat)
{
for (auto&& row : mat)
{
for (auto x : row)
os << x << ' ';
os << '\n';
}
return os;
}
int main()
{
Mat m1, m2, *pm = &m1;
std::string line;
while (std::getline(std::cin, line))
{
// switch matrix on '#' encounter
if (line == "#")
{
pm = &m2;
continue;
}
// add line to current matrix
std::istringstream iss(line);
pm->emplace_back((std::istream_iterator<int>(iss)),
std::istream_iterator<int>());
}
std::cout << m1 << '\n';
std::cout << m2 << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxpdGVyYXRvcj4KCnR5cGVkZWYgc3RkOjp2ZWN0b3I8c3RkOjp2ZWN0b3I8aW50Pj4gTWF0OwoKc3RkOjpvc3RyZWFtJiBvcGVyYXRvciA8PChzdGQ6Om9zdHJlYW0mIG9zLCBjb25zdCBNYXQmIG1hdCkKewogICAgZm9yIChhdXRvJiYgcm93IDogbWF0KQogICAgewogICAgICAgIGZvciAoYXV0byB4IDogcm93KQogICAgICAgICAgICBvcyA8PCB4IDw8ICcgJzsKICAgICAgICBvcyA8PCAnXG4nOwogICAgfQogICAgcmV0dXJuIG9zOwp9CgppbnQgbWFpbigpCnsKICAgIE1hdCBtMSwgbTIsICpwbSA9ICZtMTsKICAgIHN0ZDo6c3RyaW5nIGxpbmU7CiAgICAKICAgIHdoaWxlIChzdGQ6OmdldGxpbmUoc3RkOjpjaW4sIGxpbmUpKQogICAgewogICAgICAgIC8vIHN3aXRjaCBtYXRyaXggb24gJyMnIGVuY291bnRlcgogICAgICAgIGlmIChsaW5lID09ICIjIikKICAgICAgICB7CiAgICAgICAgICAgIHBtID0gJm0yOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gYWRkIGxpbmUgdG8gY3VycmVudCBtYXRyaXgKICAgICAgICBzdGQ6OmlzdHJpbmdzdHJlYW0gaXNzKGxpbmUpOwogICAgICAgIHBtLT5lbXBsYWNlX2JhY2soKHN0ZDo6aXN0cmVhbV9pdGVyYXRvcjxpbnQ+KGlzcykpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6aXN0cmVhbV9pdGVyYXRvcjxpbnQ+KCkpOwogICAgfQogICAgCiAgICBzdGQ6OmNvdXQgPDwgbTEgPDwgJ1xuJzsKICAgIHN0ZDo6Y291dCA8PCBtMiA8PCAnXG4nOwp9