逃离幻想乡
题号:NC21791
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

“来世愿生幻想乡”,这是多少东方迷的心愿啊。

但是……

“来世想生在幻想乡的各位,小心到时候我的儿子看你们的本子……” 某易云音乐上的网友语惊四座。

没想到,这件事情闹得沸沸扬扬,竟然连远在幻想乡的灵梦也知道了,于是灵梦打算带领一众妖精们逃离幻想乡,前往新的乌托邦。

正当一众妖精再有说有笑的赶路时,在最前头的紫妈突然停了下来,原来是有一个结界拦住了去路,上面写着:

结果妖精刚通过没多久,却发现前面有一个万丈深渊,峭壁上还有几行大字:

妖精们啊,你们只需算出,对于一个整数m(0≤m≤n)有多少个2m在10进制下第一个数字为就可以召唤深渊巨龙(神龙)通过这里。

仗着自己开了一个红茶馆(雾),大小姐在1e-9秒内就算出了答案ans1

成功通过深渊后,妖精们来到了幻想乡之门前,只见门前插了3根擎天巨柱,其中最左边的柱子上有2*ans1个翡翠方块,而翡翠方块刚好从上到下依次增大且每种尺寸的翡翠方块有两块,也就是说:一共有ans1 种翡翠方块,妖精们走进一看,发现同一尺寸的翡翠方块竟然还分颜色:上面的翡翠方块为黑色,下面的翡翠方块为白色。最下面的翡翠方块上刻了一行小字:

妖精们啊,若要出此幻想乡,你们须将所有的翡翠从左边的定海柱移至最右边的定天柱上,并且遵从以下规则:

1.大的翡翠方块不能放在小的翡翠方块上面
2.当所有的翡翠方块移动完毕时,定天柱上的方块黑白顺序必须和定海柱上的方块黑白顺序相同

仗着机敏的头脑,琪露诺在1e-9秒内就算出了最少的移动次数ans2

妖精们齐心协力将所有方块移到右边的柱子上的后,突然幻想乡之门炸裂了,随后整个幻想乡的空间出现龟裂,原来,这个装置便是幻想乡的毁灭装置。

现在灵梦她们自由了,她们可以前往她们自己的乌托邦去了。

临走前,灵梦为了考验一下作为蒟蒻的YPC,所以就让蒟蒻YPC告诉她这一路上的ans1 ans2分别是多少,由于YPC非常蒻,所以就前来询问各位巨佬了,希望你们能求出ans1 ans2的值,注意将ans2对1000000007取模(YPC温馨提醒:模运算在Pascal下为mod,在C++下为*%*)。

输入描述:

一行2个数字n,

输出描述:

第一行一个数表示ans1,第二行一个数表示ans2
示例1

输入

复制
10 3

输出

复制
1
3

备注:

对于50%的数据:0≤n≤1000,1≤l≤9。

对于100%的数据:0≤n≤500000,1≤l≤9。

另外对于20%的数据:0≤n≤500000,l=1