#P17509. 中秋灯谜

中秋灯谜

题目描述

中秋佳节,洛谷街道上举办了一场猜灯谜活动。

活动现场挂着一排数字灯笼,每盏灯笼上写有一个 00 到 99 之间的数字。从左到右读出这些数字,可以得到一个字符串 ss。

灯谜的规则如下:任意两盏相邻灯笼上的数字都组成一道谜题。将左边灯笼上的数字作为十位、右边灯笼上的数字作为个位,得到一个整数。如果这个整数是质数,就可以获得与该整数相等的积分。

例如,相邻两盏灯笼上的数字依次为 22 和 33,组成整数 2323。由于 2323 是质数,因此可以获得 2323 分。组成的数字允许包含前导零。例如,0202 表示整数 22,而 22 是质数,所以可以获得 22 分。如果同一个质数出现多次,则每次都要计入积分。

请计算参加者解开所有谜题后,一共可以获得多少积分。

请回忆,质数是大于 11,并且正因数只有 11 和它本身的整数。

输入格式

输入一行一个仅由数字 0∼90\sim 9 组成的字符串 ss,表示灯笼上的数字。

输出格式

输出一个整数,表示所有能够组成质数的相邻灯笼所获得的积分之和。

如果不存在符合要求的质数,输出 00。

样例 #1

样例输入 #1

235711

样例输出 #1

105

样例 #2

样例输入 #2

0213

样例输出 #2

15

样例 #3

样例输入 #3

1000

样例输出 #3

0

提示

样例 1 解释

从左到右,相邻灯笼组成的整数依次为:23, 35, 57, 71, 1123, 35, 57, 71, 11。其中 2323、7171 和 1111 是质数,因此总积分为 23+71+11=10523+71+11=105。

样例 2 解释

相邻灯笼组成的数字依次为 0202、2121 和 1313。其中 0202 和 1313 是质数,因此总积分为 2+13=152+13=15。

样例 3 解释

相邻灯笼组成的整数依次为 1010、00 和 00,均不是质数,因此总积分为 00。

数据范围

本题共有 2020 个测试点。定义 ∣s∣|s| 表示字符串 ss 的长度。

  • 对于测试点 1∼41\sim 4,满足 2≤∣s∣≤102\leq |s| \leq 10;
  • 对于测试点 5∼105\sim 10,满足字符串 ss 中不包含字符 00;
  • 对于测试点 11∼1411\sim 14,满足 2≤∣s∣≤10002\leq |s| \leq 1000;
  • 对于全部测试点,保证 2≤∣s∣≤1042\leq |s| \leq 10^4,ss 中只包含数字字符 0∼90\sim 9。