struct T{ll a,b;T(ll p,ll q):a(p),b(q){}};bool operator<(T s,T t){return s.a*t.b>t.a*s.b;}{ll@N,@M,@A[N],@B[M],t,j;set>C;rep(i,N)C.insert({{A[i],B[0]},i,0});rep(M){const auto&c=*C.begin();wt(1+(t=get<1>(c)));j=get<2>(c)+1;C.erase(c);C.insert({{A[t],B[j]},t,j});}}