#include <vector>
class SetOfStacks {
public:
vector<vector<int> > setOfStacks(vector<vector<int> > ope, int size) {
// write code here
vector<vector<int>>res;
vector<int> fixed_stack;
for (auto op : ope) {
if (op[0] == 1 ) {
int tmp = op[1];
if (fixed_stack.size() == size) {
res.push_back(fixed_stack);
fixed_stack = vector<int> ();
}
fixed_stack.emplace_back(tmp);
continue;
}
if (op[0] == 2) {
if (fixed_stack.empty()) {
if(res.empty()) continue;
fixed_stack= res.back();
res.pop_back();
}
fixed_stack.pop_back();
}
}
if (!fixed_stack.empty()) {
res.push_back(fixed_stack);
}
return res;
}
};