#include <bits/stdc++.h>
using namespace std;

vector<int> reszek(int n) {
    // Először a következő kódrészlettel a "digits" vektorban eltároljuk a szám számjegyeit
    vector<int> digits;
    while (n > 0) {
        digits.push_back(n % 10);
        n /= 10;
    }
    reverse(digits.begin(), digits.end());

    vector<int> result;
    // A következő kódban legeneráljuk és eltároljuk a számok részeit
    for (int len = 1; len <= digits.size(); len++) {
        // Végigiterálunk a lehetséges részhosszoszokon
        for (int i = 0; i <= digits.size() - len; i++) {
            // Nem szeretnénk eltárolni bármely olyan számot, aminek első számjegye 0, és utána vannak még számjegyek, ezt ekkor a feladat szerint nem tekintjük résznek
            if (digits[i] == 0 && len > 1) continue;
            // Itt előállítjuk a vektorrészletből a számot, majd ezt hozzáadjuk a kimenetekhez
            int next = digits[i];
            for (int j = i + 1; j < i + len; j++) {
                next *= 10;
                next += digits[j];
            }
            result.push_back(next);
        }
    }
    return result;
}

int main() {
    // Adatok bekérése
    int a, b;
    cin >> a >> b;

    // Egy-egy vektorban eltároljuk a és b számok egy, kettő, három, ... jegyű részeit
    vector<int> av = reszek(a);
    vector<int> bv = reszek(b);

    // A következő kódrészletben a részek közötti oszthatóságokat vizsgáljuk meg
    int sum = 0;
    for (int i = 0; i < av.size(); i++) {
        for (int j = 0; j < bv.size(); j++) {
            // Akkor kell két rész közötti osztahtóságot vizsgálni, ha az egyikről tudjuk, hogy egyjegyű és nem nulla, ez lesz az osztó
            // Egy szám egyjegyűsége ekivivalens azzal, hogy a szám tízes alapú logaritmusa kisebb egynél 
            if (bv[j] != 0 && log10(bv[j]) < 1) {
                if (av[i] % bv[j] == 0)  {
                    sum++;
                }
            }
            if (av[i] != 0 && log10(av[i]) < 1) {
                if (bv[j] % av[i] == 0)  {
                    sum++;
                }
            }
            // Az is lehetséges, hogy mindkét szám nulla, ekkor a két szám osztója egymásnak, mindkét irányba, így kettőt hozzáadunk a szimpátiaszámhoz
            if (av[i] == 0 && bv[j] == 0) sum += 2;
        }
    }
    cout << sum << endl;
}
