#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MEM(a,b) memset(a,(b),sizeof(a)) #define MAX(a,b) ((a) > (b) ? (a) : (b)) #define MIN(a,b) ((a) < (b) ? (a) : (b)) #define MP make_pair #define pb push_back #define inf 1000000000 #define M 1000000007 typedef long long LL; typedef pair pi; typedef vector vi; typedef vector vs; typedef vector vd; #include #include #include using namespace std; int a[3000005],f[3000005]; int main() { int m,i,j,k,tests,cs=0,t=0,n; scanf("%d",&n); assert(n>=2 && n<=300000); for(i=0;i=0;i--) { int cnt=0; for(j=0;j