#include "souvenirs.h"
#include <utility>
#include <vector>
using namespace std;
const int NMAX = 100;
pair<long long, long long> ecartVal[NMAX];
int nbAPrendre[NMAX];
void buy_souvenirs(int N, long long P0) {
//std::pair<std::vector<int>, long long> res = transaction(3);
#define int long long
ecartVal[0] = {P0,P0};
for(int i = 1; i < N; i++)
{
ecartVal[i] = {ecartVal[i-1].first-1, N-i};
nbAPrendre[i] = i;
}
if(N == 2)
{
transaction(P0-1);
return;
}
if(N==3)
{
int cout1 = P0-1;
auto ret = transaction(cout1);
if(ret.first.size()==1)
{
cout1 = cout1-ret.second;
for(int v = 0; v < 2; v++)
transaction(cout1-1);
}
else
{
int total = cout1-ret.second;
if(total%2 == 0)
transaction(total/2-1);
else
transaction(total/2);
}
return;
}
//s2 et 3
int Pav = P0;
for(int i = 1; i < N; i++)
{
int coutI = Pav-1;
auto ret = transaction(coutI);
for(auto v : ret.first)
{
nbAPrendre[v]--;
}
if((ret.first.size() != 1) || (ret.second != 0))
coutI--;
while(nbAPrendre[i])
{
transaction(coutI);
nbAPrendre[i]--;
}
}
return;
}