70. 十六进制

单点时限: 1.0 sec

内存限制: 256 MB

输入一个字符串,提取字符串中的所有 16 进制数码字符,并转化成十进制整数输出。16 进制的合法表示为:以0x开头,后面是 0-9a-f 构成的字符串,可能会在开头出现多个 0

说明:

  1. 保证输入字符串不会出现两个十六进制数首尾相接的情况。即不会出现类似 0x100xa 的字符串(因为 0x1000xa 都是十六进制数)。
  2. 在保证第一点的前提下,保证提取出来 16 进制数在 unsigned int 范围内。

输入格式

输入一个长度不超过 $10^5$ 的字符串,由小写英文字母和数字构成。

对于 $70\%$ 的字符串,长度不超过 $1000$。

输出格式

输出请按照输入中出现的顺序。

如果字符串中没有合法的 16 进制数码。则输出 $-1$。

如果字符串中有多个合法的 16 进制数,则依次输出,中间用一个空格分隔。

样例

Input
0xax
Output
10
Input
0x13g0x10a
Output
19 266
Input
0xerts
Output
14
Input
190a
Output
-1

813 人解决,1112 人已尝试。

1243 份提交通过,共有 8151 份提交。

2.2 EMB 奖励。

创建: 6 年,10 月前.

修改: 6 年,1 月前.

最后提交: 2 月,2 周前.

来源: 2018 实训第一次机考