Number of inversions
The permutation is a sequence of n different integers from 1 to n. For example (5, 3, 2, 1, 4) is a permutation. The inversion of a permutation p is such ordered pair of indexes (i, j) that i < j and p_i > p_j. In the sample above the pair of indexes (2, 4) forms an inversion because 2 < 4 and 3 > 1.
You are given the pair of numbers n and t. Find the number of permutations from n elements, that contains exactly t inversions. Print the lexicographically smallest permutation with t inversions.
Input
Two integers n and t (1 ≤ n ≤ 18; 0 ≤ t ≤ 200).
Два целых числа n и t (1 ≤ n ≤ 18; 0 ≤ t ≤ 200).
Output
In the first line print the number of permutations of n elements with exactly t inversions. In the second line print the lexicographically smallest permutation with t inversions. If such permutation does not exist, print "0" in the first line, and symbol "-" in the second.
В первую строку выведите количество перестановок из n элементов, которые имеют ровно t инверсий. Во вторую строку выведите наименьшую в лексикографическом порядке перестановку с заданным числом инверсий t. Если такой перестановки не существует, выведите в первую строку "0", а во вторую – символ "-".