#include using namespace std; #define int long long bool cmp(pair u,pair v) { if(u.first==v.first && u.second==v.second) return false; if(u.first>=v.first && u.second>=v.second) return false; if(u.first<=v.first && u.second<=v.second) return true; if(u.first>=v.first) { return (u.first-v.first)*(u.first-v.first)<2*(u.second-v.second)*(u.second-v.second); } else { return (u.first-v.first)*(u.first-v.first)>2*(u.second-v.second)*(u.second-v.second); } } int32_t main() { ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n;cin>>n;--n; int k=sqrt(n*2*sqrt(2.0)); k-=10; int n1=n; vector > v; for(int a=0;a<=k+20;++a) { int b0=max(0LL,((int) ((k-a)/sqrt(2.0)))); n1-=b0; for(int j=b0;j<=b0+20;++j) { v.push_back({a,j}); } } sort(v.begin(),v.end(),cmp); cout<