MMINPER - Minimum Permutation

The inversion number of an integer sequence a1, a2 ... an is the number of pairs (ai, aj) that satisfy i < j and ai > aj . Given n and the inversion number m, your task is to find the smallest permutation of the set { 1, 2 ... n } , whose inversion number is exactly m. A permutation a1, a2 ... an is smaller than b1, b2 ... bn if and only if there exists an integer k such that aj = bj for 1 ≤ j < k but ak < bk.

Input

The input consists of several test cases. Each line of the input contains two integers n and m. Both of the integers at the last line of the input is −1, which should not be processed. You may assume that 1 ≤ n ≤ 50000 and 0 ≤ m ≤ 1/2n(n − 1).

Output

For each test case, print a line containing the smallest permutation as described above, separates the numbers by single spaces.

Sample

Input
5 9
7 3
-1 -1

Output
4 5 3 2 1
1 2 3 4 7 6 5

Được gửi lên bởi:psetter
Ngày:2009-02-23
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET
Nguồn bài:Pre Shanghai 2004

hide comments
2020-03-13 12:52:28
ai cho em xin code bai nay voi a
2016-04-04 17:04:23
Code C++ ac,code pascal sai??
2015-11-16 15:25:43 Nắng
sao làm O(n*test) mà vẫn TLE nhỉ =="
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.