[编程 |100]计算 ID 数量

本题可以使用本地IDE编码,不能使用本地已有代码,无跳出限制,编码后请点击“保存并调试”按钮进行代码提交。

题目描述:

小华刚刚参加了一个编译器课程,他想设计实现自己的编译器。首先,他设计了一种语言,他的语言最大支持N个字不同的字符,并且他规定了由这些字符组成的ID,任何ID的长度需要大于等于1且小于等于L个字符,他希望设计一个程序知道他的语言总共能组成多少个ID。

例如,当N=2(假设字符可以是0或1),并且L=3时,他具有如下的ID:

{0,1,00,01,10,11,000,001,010,011,100,101,110,111},

因此当N=2,L=3时总共有14种ID。

你需要编写一个程序,可以帮助小华找到可能的ID的总数。由于答案可能非常大,最后的结果需要对1000000007取余。

输入描述:

  • 输入包含多个用例。每个用例将为包含两个整数N和L的一行。
  • N是可以作为id的一部分字符数,L是该语言支持的最大长度
  • (1 <= N <= 65535,10 <= L <= 10^5).
  • 当N=0并且L等于0时表示输入结束。

输出描述:

示例1: 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

2 3
100 15
0 0

输出

14
979451521