#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int n;
string A, B;
long long max_gcd = 0;
// Funkcja obliczająca NWD
long long gcd(long long a, long long b) {
while (b) {
a %= b;
swap(a, b);
}
return a;
}
// Rekurencyjna funkcja przeszukująca wszystkie kombinacje znaków zapytania
void solve(int index, string &a, string &b) {
if (index == 2 * n) {
long long num_a = stoll(a);
long long num_b = stoll(b);
max_gcd = max(max_gcd, gcd(num_a, num_b));
return;
}
int i = index / n;
int pos = index % n;
if (i == 0) {
if (A[pos] == '?') {
for (char c = '0'; c <= '9'; ++c) {
a[pos] = c;
solve(index + 1, a, b);
}
} else {
a[pos] = A[pos];
solve(index + 1, a, b);
}
} else {
if (B[pos] == '?') {
for (char c = '0'; c <= '9'; ++c) {
b[pos] = c;
solve(index + 1, a, b);
}
} else {
b[pos] = B[pos];
solve(index + 1, a, b);
}
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
if (!(cin >> n)) return 0;
cin >> A >> B;
string a = A;
string b = B;
solve(0, a, b);
cout << max_gcd << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBuOwpzdHJpbmcgQSwgQjsKbG9uZyBsb25nIG1heF9nY2QgPSAwOwoKLy8gRnVua2NqYSBvYmxpY3phasSFY2EgTldECmxvbmcgbG9uZyBnY2QobG9uZyBsb25nIGEsIGxvbmcgbG9uZyBiKSB7CiAgICB3aGlsZSAoYikgewogICAgICAgIGEgJT0gYjsKICAgICAgICBzd2FwKGEsIGIpOwogICAgfQogICAgcmV0dXJuIGE7Cn0KCi8vIFJla3VyZW5jeWpuYSBmdW5rY2phIHByemVzenVrdWrEhWNhIHdzenlzdGtpZSBrb21iaW5hY2plIHpuYWvDs3cgemFweXRhbmlhCnZvaWQgc29sdmUoaW50IGluZGV4LCBzdHJpbmcgJmEsIHN0cmluZyAmYikgewogICAgaWYgKGluZGV4ID09IDIgKiBuKSB7CiAgICAgICAgbG9uZyBsb25nIG51bV9hID0gc3RvbGwoYSk7CiAgICAgICAgbG9uZyBsb25nIG51bV9iID0gc3RvbGwoYik7CiAgICAgICAgbWF4X2djZCA9IG1heChtYXhfZ2NkLCBnY2QobnVtX2EsIG51bV9iKSk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIGludCBpID0gaW5kZXggLyBuOwogICAgaW50IHBvcyA9IGluZGV4ICUgbjsKCiAgICBpZiAoaSA9PSAwKSB7CiAgICAgICAgaWYgKEFbcG9zXSA9PSAnPycpIHsKICAgICAgICAgICAgZm9yIChjaGFyIGMgPSAnMCc7IGMgPD0gJzknOyArK2MpIHsKICAgICAgICAgICAgICAgIGFbcG9zXSA9IGM7CiAgICAgICAgICAgICAgICBzb2x2ZShpbmRleCArIDEsIGEsIGIpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYVtwb3NdID0gQVtwb3NdOwogICAgICAgICAgICBzb2x2ZShpbmRleCArIDEsIGEsIGIpOwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKEJbcG9zXSA9PSAnPycpIHsKICAgICAgICAgICAgZm9yIChjaGFyIGMgPSAnMCc7IGMgPD0gJzknOyArK2MpIHsKICAgICAgICAgICAgICAgIGJbcG9zXSA9IGM7CiAgICAgICAgICAgICAgICBzb2x2ZShpbmRleCArIDEsIGEsIGIpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYltwb3NdID0gQltwb3NdOwogICAgICAgICAgICBzb2x2ZShpbmRleCArIDEsIGEsIGIpOwogICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CgogICAgaWYgKCEoY2luID4+IG4pKSByZXR1cm4gMDsKICAgIGNpbiA+PiBBID4+IEI7CgogICAgc3RyaW5nIGEgPSBBOwogICAgc3RyaW5nIGIgPSBCOwoKICAgIHNvbHZlKDAsIGEsIGIpOwoKICAgIGNvdXQgPDwgbWF4X2djZCA8PCAiXG4iOwoKICAgIHJldHVybiAwOwp9