#include #include using namespace std; 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; while(true) { if(A>=M) { long long AM=A/M; ans+=N*(N-1)/2*AM; A-=AM*M; } if(B>=M) { long long BM=B/M; ans+=N*BM; B-=BM*M; } long long Ym=(A*N+B)/M,Xm=Ym*M-B; if(Ym==0)break; long long TX=(Xm+A-1)/A; ans+=(N-TX)*Ym; N=Ym; B=TX*A-Xm; swap(A,M); } return ans; } int N,M; int A[2000],B[2000]; main() { scanf("%d%d",&N,&M); for(int i=0;i