T469844 [2024迎新马拉松] 质数

题目描述

给定数字串 $S$,请计算 $S$ 中存在多少个子串,使得该子串不以 `0` 打头且它是长度**恰好** $K$ 的质数。

输入格式

第一行包含一个整数 $K$。 第二行包含一个字符串 $S$。$S$ 中仅包含 `0`, `1`, $\ldots$, `9`。

输出格式

一个整数,表示满足要求的子串数量。

说明/提示

【样例解释#$1$】 $S$ 中共有 $4$ 个长度 $2$ 的子串,其中 `71`, `29` 是质数。 【样例解释#$2$】 $S$ 中共有 $3$ 个长度 $4$ 的子串。它们或以 `0` 打头,或不是质数。 【样例解释#$3$】 $S$ 中能找到的长度 $6$ 的质数有 `314159`、`358979`、`589793`。 【样例解释#$4$】 $S$ 中有两个 `101`。 【数据规模】 本题共有三个子任务,每个子任务捆绑计分: - 子任务一,占分 $35\%$,保证 $1 \le K \le 2$; - 子任务二,占分 $35\%$,保证 $1 \le |S| \le 10^5$; - 子任务三,占分 $30\%$,无特殊约定。 对于全部测试数据,保证 $1 \le |S| \le 10^7$,$1 \le K \le 6$。