#include "light.h"
#include<bits/stdc++.h>
#define int long long
#define vi vector<int>
#define pii pair<int,int>
#define F first
#define S second
#define pb push_back
#define eb emplace_back
#define mp make_pair
#define f0r(i,n) for(int i = 0; i < n; i++)
#define FOR(i,k,n) for(int i = k; i < n; i++)
#define dout(x) cout<<x<<' '<<#x<<endl
#define dout2(x,y) cout<<x<<' '<<#x<<' '<<y<<' '<<#y<<endl
#define vout(v) cout<<#v<<": "; for(auto u : v)cout<<u<<' '; cout<<endl
using namespace std;
bool lef; int n; vi v;
void prepare(){
lef = 0; n = 1;
}
std::pair<long long, std::vector<long long>> join(long long p){
if(!lef){
n += p; int cur = 0; vi ans; while(1){
ans.pb(cur); if(cur == n-1)break; cur = (cur + n + 1) / 2;
} for(auto &u : ans)u++; v = ans; return mp(p, ans);
}
else{
n += p; vi ans; ans.pb(1); ans.pb(n); v = ans; return mp(p, ans);
}
}
std::pair<long long, std::vector<long long>> leave(long long p){
lef = 1; n -= p; vi ans = {1,n}; v = ans; return mp(p,ans);
}