#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #include #include #include #include #include using namespace std; char wbuf[1<<25]; struct valt{ unsigned long s[3]; long len; }; using keyt=unsigned __int128; int main(){ char*rp=static_cast(mmap(0,1<<25,1,2,0,0)); while(*rp++!=10); map h; while(*rp){ int d=16; keyt k=0; char*p=rp; long c; while(c=*p++,c!=32){ k|=keyt(c)<<(--d<<3); } while(c=*p++,c!=10){ } valt&v=h[k]; v.s[0]=((unsigned long*)rp)[0]; v.s[1]=((unsigned long*)rp)[1]; v.s[2]=((unsigned long*)rp)[2]; v.len=p-rp; rp=p; } char*wp=wbuf; for(auto&&t:h){ ((unsigned long*)wp)[0]=t.second.s[0]; ((unsigned long*)wp)[1]=t.second.s[1]; ((unsigned long*)wp)[2]=t.second.s[2]; wp+=t.second.len; } *wp=0; write(1,wbuf,wp-wbuf); _exit(0); }