#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6 + 10;
int n, m;
char a[maxn];
char b[maxn];
int main() {
  scanf("%d%d", &n, &m);
  scanf("%s", a);
  scanf("%s", b);
  int res = 0;
  int pow = 1;
  int sum = 0;
  for (int i = 0; i < m; i++) {
    if (i < n && a[n - i - 1] == '1') {
      res = (res + pow) % 998244353;
    }
    if (b[m - i - 1] == '1') {
      sum = (sum + res) % 998244353;
    }
    pow = (pow + pow) % 998244353;
  }
  printf("%d\n", sum);
}
