#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class OrderedStream{
public :
int ptr;
vector< string> str;
OrderedStream( int n) {
ptr = 1 ;
while ( str.size ( ) < n+ 3 ) {
str.push_back ( "" ) ;
}
}
vector< string> insert( int id, string value) {
vector< string> res;
str[ id] = value;
if ( id== ptr) {
while ( str[ ptr] ! = "" ) {
res.push_back ( str[ ptr++ ] ) ;
}
}
return res;
}
}
;
// cLay varsion 20201115-2
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class OrderedStream {
// public:
// int ptr;
// vector<string> str;
//
// OrderedStream(int n) {
// ptr = 1;
// while(str.size() < n+3) str.push_back("");
// }
//
// vector<string> insert(int id, string value) {
// vector<string> res;
// str[id] = value;
// if(id==ptr) while(str[ptr] != "") res.push_back(str[ptr++]);
// return res;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbWFpbiBkdW1teV9tYWluCmludCBtYWluKCl7CiAgcmV0dXJuIDA7Cn0KI3VuZGVmIG1haW4KY2xhc3MgT3JkZXJlZFN0cmVhbXsKICBwdWJsaWM6CiAgaW50IHB0cjsKICB2ZWN0b3I8c3RyaW5nPiBzdHI7CiAgT3JkZXJlZFN0cmVhbShpbnQgbil7CiAgICBwdHIgPSAxOwogICAgd2hpbGUoc3RyLnNpemUoKSA8IG4rMyl7CiAgICAgIHN0ci5wdXNoX2JhY2soIiIpOwogICAgfQogIH0KICB2ZWN0b3I8c3RyaW5nPiBpbnNlcnQoaW50IGlkLCBzdHJpbmcgdmFsdWUpewogICAgdmVjdG9yPHN0cmluZz4gcmVzOwogICAgc3RyW2lkXSA9IHZhbHVlOwogICAgaWYoaWQ9PXB0cil7CiAgICAgIHdoaWxlKHN0cltwdHJdICE9ICIiKXsKICAgICAgICByZXMucHVzaF9iYWNrKHN0cltwdHIrK10pOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gcmVzOwogIH0KfQo7Ci8vIGNMYXkgdmFyc2lvbiAyMDIwMTExNS0yCgovLyAtLS0gb3JpZ2luYWwgY29kZSAtLS0KLy8gI2RlZmluZSBtYWluIGR1bW15X21haW4KLy8ge30KLy8gI3VuZGVmIG1haW4KLy8gCi8vIGNsYXNzIE9yZGVyZWRTdHJlYW0gewovLyBwdWJsaWM6Ci8vICAgaW50IHB0cjsKLy8gICB2ZWN0b3I8c3RyaW5nPiBzdHI7Ci8vIAovLyAgIE9yZGVyZWRTdHJlYW0oaW50IG4pIHsKLy8gICAgIHB0ciA9IDE7Ci8vICAgICB3aGlsZShzdHIuc2l6ZSgpIDwgbiszKSBzdHIucHVzaF9iYWNrKCIiKTsKLy8gICB9Ci8vIAovLyAgIHZlY3RvcjxzdHJpbmc+IGluc2VydChpbnQgaWQsIHN0cmluZyB2YWx1ZSkgewovLyAgICAgdmVjdG9yPHN0cmluZz4gcmVzOwovLyAgICAgc3RyW2lkXSA9IHZhbHVlOwovLyAgICAgaWYoaWQ9PXB0cikgd2hpbGUoc3RyW3B0cl0gIT0gIiIpIHJlcy5wdXNoX2JhY2soc3RyW3B0cisrXSk7Ci8vICAgICByZXR1cm4gcmVzOwovLyAgIH0KLy8gfTsK