#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
long long ans;
long long calcc(string s, string t) {
  long long cur = 1;
  for (int i = 0; i < s.size(); ++i) {
    if (s[i] == '?') {
      if (t[i] == '?') {
        cur *= 5 * 11;
        cur %= mod;
      } else {
        cur *= 10 - (t[i] - '0');
        cur %= mod;
      }
    } else {
      if (t[i] == '?') {
        cur *= s[i] - '0' + 1;
        cur %= mod;
      } else {
        if (t[i] > s[i]) {
          cur = 0;
          break;
        }
      }
    }
  }
  return cur;
}
long long ras(string s, string t) {
  long long cur = 1;
  for (int i = 0; i < s.size(); ++i) {
    if (s[i] == '?') {
      if (t[i] == '?') {
        cur *= 10;
        cur %= mod;
      } else {
      }
    } else {
      if (t[i] == '?') {
      } else {
        if (s[i] != t[i]) {
          cur = 0;
          break;
        }
      }
    }
  }
  return cur;
}
long long cc(string s, string t) {
  long long cur = 1;
  for (int i = 0; i < s.size(); ++i) {
    if (s[i] == '?') {
      cur *= 10;
      cur %= mod;
    }
  }
  for (int i = 0; i < s.size(); ++i) {
    if (t[i] == '?') {
      cur *= 10;
      cur %= mod;
    }
  }
  return cur;
}
int main() {
  int n;
  cin >> n;
  string s, t;
  cin >> s >> t;
  ans += calcc(s, t) + calcc(t, s) - ras(s, t);
  ans %= mod;
  long long sum = cc(s, t);
  sum %= mod;
  long long anss = sum - ans;
  if (anss < 0) anss += 3 * mod;
  anss %= mod;
  cout << anss << endl;
}
