学校举办了一场集市来纪念斐波那契。Johnny 负责一家礼品店,在店里你只能使用特殊的代金券进行支付,这些代金券的面值都是斐波那契数。Johnny 在处理这些奇怪的面值时遇到了困难,因此他决定只接受恰好使用 $k$ 张代金券(面值不一定不同)的精确支付。现在他需要制定价格——礼品店里有 $n$ 件不同的商品,Johnny 希望为每件商品设置不同的价格。有时,支付同一个价格可能有多种方式,在这种情况下,Johnny 只将该价格计算一次。他计算出了所有的价格,现在他想验证自己的计算。为了快速验证,只需说出最后一个,即第 $n$ 个价格即可。帮助 Johnny——编写一个程序,在给定 $n$ 和 $k$ 的情况下,计算出可以使用恰好 $k$ 张代金券支付的第 $n$ 小的价格。
输入格式
输入的第一行也是唯一一行包含两个整数 $k$ 和 $n$($1 \le k \le 100$,$1 \le n \le 10^{18}$),它们之间用一个空格分隔。
输出格式
你应该在输出的第一行也是唯一一行中写入一个整数——假设该数字最大为 $10^{18}$,输出可以使用 $k$ 张(不一定不同)面值为斐波那契数的代金券支付的第 $n$ 小的数字;如果该数字大于 $10^{18}$,则输出 NIE(波兰语中表示“否”)。
样例
输入样例 1
2 11
输出样例 1
13
输入样例 2
1 100
输出样例 2
NIE
说明
在样例 1 中,使用恰好 2 张代金券无法支付价格 1 和 12。
在样例 2 中,第 100 个斐波那契数(远)大于 $10^{18}$。