茜茜的计算器
题号:NC274983
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

茜茜有一个计算器,这个计算器在显示数字的时候会把所有的前导0都显示出来。
在这个计算器上,0-9分别被显示为:

即,当这个计算器显示屏有10位时,让它显示数字123456则会显示为“0000123456”。
茜茜发现,这个计算器有时候显示的数字是一个轴对称图形,如“80808”

(“80808”的对称轴可以为横轴,也可以为纵轴。而有一些数字可能只以横轴或纵轴中的一个为对称轴,但这样的仍然是轴对称图形。)
请问,如果这个计算器显示的数有n位时它能显示的数字中有多少种不同的轴对称图形。

输入描述:

读入一个正整数n
1 \leq n \leq 10^9

输出描述:

输出一个正整数,为有n位的计算器所能显示的数字中有多少种不同的轴对称图形。
由于答案可能很大,输出答案对10^9+7取模的结果。
示例1

输入

复制
2

输出

复制
18

说明

有18种不同的轴对称图形,分别为:
00,01,03,08,
10,11,13,18,
25,
30,31,33,38,
52,
80,81,83,88。