「EZEC-9」进位

题目背景

规定 $\text{popcount}(x)$ 表示 $x$ 在二进制表示下所含 $1$ 的个数。

题目描述

您有一个二进制数 $B$(以一个长为 $n$ 的 $01$ 字符串形式给出)和长为 $m$ 的序列 $a$。 同时,您还需要对 $B$ 进行 $m$ 次操作。 其中,第 $i$ 个操作为 $B \gets B + 2^{a_i}$,其价值 $v_i$ 为 $B$ 在操作前后变化的位置数量,即 $v_i = \operatorname{popcount}(B \mathbin{\mathrm{xor}} (B + 2^{a_i}))$。 您需要解决两个问题: - 您可以**任意**安排操作顺序,问在执行**所有**操作后,$\displaystyle \sum_{i=1}^mv_i$ 最大为多少? - 您可以**任意**安排操作顺序,问在执行**所有**操作后,$\displaystyle \max_{i=1}^mv_i$ 最大为多少?

输入输出格式

输入格式


第一行两个整数 $n,m$。 第二行一个长为 $n$ 的 $01$ 字符串,表示二进制数 $B$,**从低位到高位依次给出**。 第三行 $m$ 个整数 $a_1,a_2,\dots,a_m$。

输出格式


第一行一个整数,表示第一问的答案。 第二行一个整数,表示第二问的答案。 **本题使用 Special Judge,若您的第一问答案正确,可以获得该测试点 $30\%$ 的分数,若您的第二问答案正确,可以获得该测试点另外 $70\%$ 的分数。** **若您只回答了两问中的一问,请在另一个位置输出一个非负整数。**

输入输出样例

输入样例 #1

5 6
10110
1 0 2 2 2 2

输出样例 #1

14
6

输入样例 #2

10 10
0101010110
0 1 2 3 4 5 5 4 3 2

输出样例 #2

21
9

输入样例 #3

10 3
1111101111
5 5 0

输出样例 #3

13
11

说明

**【样例解释 #1】** 对于第一问,依次执行第 $1,2,6,5,4,3$ 个操作可得到 $\displaystyle \sum\limits_{i=1}^mv_i=14$。 对于第二问,依次执行第 $6,5,4,3,1,2$ 个操作可得到 $\displaystyle \max\limits_{i=1}^mv_i=6$。 [详细过程](https://www.luogu.com.cn/paste/ycx4xov7) **【数据范围】** **本题采用捆绑测试。** - Subtask 1(20 points):$n,m\leq 10$。 - Subtask 2(30 points):$n,m\leq 1000$。 - Subtask 3(20 points):$B$ 中全为 $0$,且 $a_1=0$,$\forall i>1, a_{i-1}\leq a_i\leq a_{i-1}+1$。 - Subtask 4(20 points):$n,m\leq 10^5$。 - Subtask 5(10 points):无特殊限制。 对于 $100\%$ 的数据,$1\leq n,m\leq 10^6$,$0\leq a_i< n$。