#include<bits/stdc++.h> usingnamespace std; #ifdef LOCAL #define debug(...) fprintf(stdout, ##__VA_ARGS__) #else #define debug(...) void(0) #endif #define int long long inlineintread(){int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<1)+ (x<<3)+(ch^48);ch=getchar();}return x*f;} #define Z(x) (x)*(x) #define pb push_back #define fi first #define se second //#define M //#define mo #define N 2000010 int n, m, i, j, k, T, q; int a[N], ans[N];
#include<bits/stdc++.h> usingnamespace std; #ifdef LOCAL #define debug(...) fprintf(stderr, ##__VA_ARGS__) #else #define debug(...) void(0) #endif #define int long long inlineintread(){int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<1)+ (x<<3)+(ch^48);ch=getchar();}return x*f;} #define Z(x) (x)*(x) #define pb push_back #define fi first #define se second //#define M //#define mo #define N 2000010 int n, m, i, j, k, T, c[N], q;
voiddfs(int x, int y){ int k = x * x + 1; if(y != 1) c[x] = min(c[x], min(y, k / y)); if(x + y <= 1e6) dfs(x + y, y); // debug("%lld %lld\n", k, y); if(x + k / y <= 1e6) dfs(x + k / y, k / y); }