#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define _int64 long long #define mo 123456789 vector aa; map mp; int a[20000]; int d[11000][110]; int dd[110][11000]; int lowbit(int x) { return ((x^(x-1))&x); } void add1(int ind,int x,int v) { int i; for (i=x;i<11000;i+=lowbit(i)) { dd[ind][i]+=v; if (dd[ind][i]>=mo) dd[ind][i]-=mo; } } int get1(int ind,int x) { int ret,i; ret=0; for (i=x;i>0;i-=lowbit(i)) { ret+=dd[ind][i]; if (ret>=mo) ret-=mo; } return ret; } int main() { int i,j,n,m,ans,tmp; while (scanf("%d%d",&n,&m)!=EOF) { aa.clear(); for (i=0;i