#32. 波奇酱的整数运算

波奇酱的整数运算

题目背景

波奇酱在某个不经意的下午得到了两个很大的整数...

题目描述

波奇酱将两个整数记为 a,b a,b ,由于 a,b a,b 很大,波奇酱将用二进制来表示 a,b a,b 。 同时,波奇酱的快乐值为 0 0 ,他接下来将会重复进行以下操作来提升自己的快乐值,如下:

  1. b>0 b > 0 ,波奇酱会计算一次 a&b a \& b ,得到的结果记为 x x

  2. 波奇酱的快乐值加上 x x

  3. b=b2 b= \lfloor \frac{b}{2} \rfloor

  4. b=0 b=0 ,停止操作。

波奇酱想知道最终自己的快乐值是多少,你能帮帮他吗?由于这个数可能很大,将最终答案对 998244353 998244353 取模。

输入格式

第一行包含两个整数 n,m(1n,m2×105) n,m (1 \leq n,m \leq 2 \times 10^5) ,分别表示 a,b a,b 二进制长度。

第二行输入一串长度为 n n 的、仅包含 0,1 0,1 的字符串,代表 a a 的二进制表示。

第三行输入一串长度为 m m 的、仅包含 0,1 0,1 的字符串,代表 b b 的二进制表示。

输出格式

输出一个整数,代表最终答案。

输入输出样例 #1

输入 #1

3 4
101
1100

输出 #1

10

说明/提示

a&b a \& b 表示将 a,b a,b 的每一位进行“与”运算,只有在两个对应位都为 1 时结果才为 1。