#line 1 "a.cpp" #include using namespace std; #line 1 "/home/kotatsugame/library/math/floor_sum.cpp" long long floor_sum(long long N,long long M,long long A,long long B) //Sum[floor((A*i+B)/M),{i,0,N-1}] { long long ans=0; if(A>=M) { ans+=N*(N-1)/2*(A/M); A%=M; } if(B>=M) { ans+=N*(B/M); B%=M; } long long Ym=(A*N+B)/M,Xm=Ym*M-B; if(Ym==0)return ans; ans+=(N-(Xm+A-1)/A)*Ym; ans+=floor_sum(Ym,A,M,(A-Xm%A)%A); return ans; } #line 4 "a.cpp" int N,M; int A[2000],B[2000]; main() { cin>>N>>M; long ans=0; for(int i=0;i>A[i]; for(int i=0;i>B[i]; for(int i=0;i