#include <iostream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
int main() {
vector<vector<string>> WordArray;
istringstream pFILE( "aaaaBBBBccccDDDDKKK\nEEEEPPPPMMMMssssPPPP\nAAAAEEEE\nAAAAEEE\nDDDDCCCC" );
string line;
for(size_t word = 0U; pFILE; word = 0U) {
getline(pFILE, line, '\n');
WordArray.push_back(vector<string>());
do {
const size_t nextWord = line.find_first_not_of(line[word], word);
WordArray.back().push_back(line.substr(word, nextWord - word));
word = nextWord;
} while(word != string::npos);
}
for(const auto row : WordArray) {
for(const auto collumn : row) {
cout << collumn << '\t';
}
cout << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHZlY3Rvcj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXZlY3Rvcjx2ZWN0b3I8c3RyaW5nPj4gV29yZEFycmF5OwoJaXN0cmluZ3N0cmVhbSBwRklMRSggImFhYWFCQkJCY2NjY0RERERLS0tcbkVFRUVQUFBQTU1NTXNzc3NQUFBQXG5BQUFBRUVFRVxuQUFBQUVFRVxuRERERENDQ0MiICk7CglzdHJpbmcgbGluZTsKCQogICAgZm9yKHNpemVfdCB3b3JkID0gMFU7IHBGSUxFOyB3b3JkID0gMFUpIHsKICAgICAgICBnZXRsaW5lKHBGSUxFLCBsaW5lLCAnXG4nKTsKICAgICAgICBXb3JkQXJyYXkucHVzaF9iYWNrKHZlY3RvcjxzdHJpbmc+KCkpOyAKCiAgICAgICAgZG8gewogICAgICAgICAgICBjb25zdCBzaXplX3QgbmV4dFdvcmQgPSBsaW5lLmZpbmRfZmlyc3Rfbm90X29mKGxpbmVbd29yZF0sIHdvcmQpOwoKICAgICAgICAgICAgV29yZEFycmF5LmJhY2soKS5wdXNoX2JhY2sobGluZS5zdWJzdHIod29yZCwgbmV4dFdvcmQgLSB3b3JkKSk7CiAgICAgICAgICAgIHdvcmQgPSBuZXh0V29yZDsKICAgICAgICB9IHdoaWxlKHdvcmQgIT0gc3RyaW5nOjpucG9zKTsKICAgIH0KICAgIAogICAgZm9yKGNvbnN0IGF1dG8gcm93IDogV29yZEFycmF5KSB7CiAgICAJZm9yKGNvbnN0IGF1dG8gY29sbHVtbiA6IHJvdykgewogICAgCQljb3V0IDw8IGNvbGx1bW4gPDwgJ1x0JzsKICAgIAl9CiAgICAJY291dCA8PCBlbmRsOwogICAgfQp9