#include #include #include #include #include using namespace std; int n,m; struct aaa { int x, y; aaa() {} aaa(int ax, int ay): x(ax), y(ay) {} bool operator< (const aaa & rhs) const { return x < rhs.x; } }; aaa Q[202020]; aaa * pQ; int q[202020]; int qu[202020]; int main() { while(scanf("%d %d", &n, &m), n!=0 && m!=0) { int maxqu=0; bool ok=true; pQ = Q; int mm = 0; for(int i=0; i()); if (lb == q + m) { ok = false; scanf("\n"); break; } if (lb == q + mm) mm = lb - q + 1; *lb = a; *(pQ++) = aaa(a, lb - q); qu[maxqu++] = lb - q; } if(!ok) { puts("Transportation failed"); } else { printf("%d", qu[0]+1); for(int i=1; iy + 1); for (aaa * i = Q + 1; i < pQ; ++i) printf(" %d", i->y + 1); puts(""); } } return 0; }