#include using namespace std; struct Label { int pos = -1; }; enum class InstrType { POP, HALT }; struct Instr { InstrType type; int a = 1, b = 1; Label *x = nullptr, *y = nullptr; }; struct Builder { static constexpr int A_ALWAYS_MISMATCH = 1024; static constexpr int TEMP_NOP = 1023; static constexpr int TEMP_EXIT = 1022; vector prog; vector> labels; int nextMarker = 1; // markers: 1..1021 Label* newLabel() { labels.emplace_back(make_unique