#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define rd_init() char*rp=({char*mmap();mmap(0l,1l<<26,1,2,0,0ll);}) #define rd() ({int _v=0,_c;while(_c=*rp++-48,_c>=0)_v=_v*10+_c;_v;}) #define WTHI(v) {unsigned _z=v,_n=0;long _d=0;while(++_n,_d=_d<<8|0x30|_z%10,_z/=10);*(long*)wp=_d;wp+=_n;} #define WTLO(v) {unsigned _z=v,_n=8;long _d=0;while(_d=_d<<8|0x30|_z%10,_z/=10,--_n);*(long*)wp=_d;wp+=8;} #define wt(v) if(v>=100000000){WTHI(v/100000000);WTLO(v%100000000);}else{WTHI(v);} #define rep(v,e) for(typeof(e)v=0;v&2"); } unsigned a[1000000]; char wbuf[1<<25]; unsigned wd[10000]; char wdlz[10000]; void mkwd(){ unsigned v='0000'; long i=0; rep(a,10){ rep(b,10){ rep(c,10){ rep(d,10){ wd[i++]=v; v+=1<<24; } v+=(1<<16)-(10<<24); } v+=(1<<8)-(10<<16); } v+=(1<<0)-(10<<8); } rep(j,1000) wdlz[j]=1; rep(j,100) wdlz[j]=2; rep(j,10) wdlz[j]=3; } int main(){ checktime(); int h,w; unsigned t=0; { rd_init(); h=rd(); w=rd(); rep(i,h){ unsigned s=0; rep(j,w){ s+=rd(); } a[i]=s; t+=s; } } checktime(); mkwd(); checktime(); { char*wp=wbuf+sizeof wbuf; rrep(i,h){ *--wp='\n'; unsigned v=t+a[i]; while(v>=10000){ wp-=4; *(unsigned*)wp=wd[v%10000]; v/=10000; } wp-=4; *(unsigned*)wp=wd[v]; wp+=wdlz[v]; } write(1,wp,wbuf+sizeof wbuf-wp); } checktime(); _exit(0); }