#6. 十六进制

十六进制

题目背景

Whitecarrot是一个很好的出题人,为大家准备了一道不是很难的字符串、取模题目。

题目描述

给定一个字符串,你需要判断这个字符串是不是合法的十六进制数表示。

如果是,你需要将它转换成十进制数输出。由于这个数可能很大,你需要输出转换成的数对109+710^9+7取模的结果。

如果不是,输出invalid

输入格式

输入一行一个字符串ss,以0x开头。(3s105s(3\le |s|\le 10^5,|s|代表ss的长度))

输入保证字符串只包含09,az,AZ0\sim 9,a\sim z,A\sim Z中的字符。

输出格式

如果这个数是合法的十六进制数,输出它转换成十进制数对109+710^9+7取模的结果。

如果这个数是非法的,输出invalid

输入输出样例 #1

0x123
291

输入输出样例 #2

0xaB
171

输入输出样例 #3

0xOvO
invalid

说明/提示

对于样例一、二,只需要把它们转换成对应十进制再对109+710^9+7取模即可。

对于样例三,O和v都是非法字符,输出invalid

不开long long见祖宗!