//chockolateman
#include<bits/stdc++.h>
#include "gap.h"
using namespace std;
const long long INF = 1000000000000000000ll;
long long findGap(int T, int N)
{
if(T==1)
{
vector<long long> nums;
long long l = 0;
long long r = INF;
long long reta;
long long retb;
while(l <= r)
{
MinMax(l,r,&reta,&retb);
if(reta != -1)
{
nums.push_back(reta);
if(retb != reta)
nums.push_back(retb);
l = reta + 1;
r = retb - 1;
}
else
l = INF;
}
sort(nums.begin(),nums.end());
long long ans = 0;
for(int i = 1 ; i < N ; i++)
ans = max(ans,nums[i] - nums[i-1]);
return ans;
}
else
{
long long reta;
long long retb;
MinMax(0,INF,&reta,&retb);
long long mn = reta;
long long mx = retb;
long long K = ceil(((long double)mx - mn)/(N-1));
long long start = mn;
long long pos = start + 1;
while(start < mx)
{
MinMax(pos,min(pos+K,INF),&reta,&retb);
pos = min(INF,pos + K + 1);
if(reta != -1)
{
K = max(K,reta - start);
start = retb;
pos = start + 1;
}
}
return K;
}
}