#include <bits/stdc++.h>

using namespace std;
string s;
vector<char > a;
long long fun(long long q)
{
    long long r=1;
    for (int i=1;i<=q;i++)
    {
        r*=i;
    }
    return r;
}
long long cisn(long long z)
{
    long long r=1;
    for (int i=0;i<z;i++)
    {
        r*=a.size();
    }
    return r;
}
int main()
{
    getline(cin,s);
    for (int j=0; j<=9; j++)
    {
        int f =0;
        for (int i=0; i<s.length(); i++)
        {
            if (!(i % 2))
            {
                if (j==(int(s[i]) - 48))
                {
                    f=1;
                    break;
                }
            }
        }
        if (f==0)
        {
            //cout<<char(j+48)<<" "<<j<<endl;
            a.push_back(char(j+48));
        }
    }
    sort(a.begin(),a.end());
    string n;
    cin>>n;
    long long l=n.length();
    long long otv=0;
    if (a[0]=='0')
    {

        for (int i=1; i<l; i++)
        {
            if (i==1)
            {
                otv+=a.size();
            }
            else
            {
                long long r=(a.size() - 1);
                for (int j=0; j<i-1; j++)
                {
                    r*=(a.size());
                }
                otv+=r;
            }
        }
        //cout<<otv<<endl;
        for (int i=0;i<l;i++)
        {
            char c=n[i];
            //cout<<c<<endl;
            for (int j=0;j<a.size();j++)
            {
                //cout<<a[j]<<" ! "<<endl;
                if (c==a[j])
                {
                    if (i==l-1)
                    {
                       // cout<<j;
                        otv+=j;
                    }
                    else
                    {
                    //cout<<cisn(a.size(),l-i-1)<<" "<<j<<" "<<i<<endl;
                    otv+=(j-1 + max(0,min(i,1)))*(l-i-1);
                    break;
                    }
                }
            }
        }
        //cout<<otv<<endl;

    }
    else
    {
        for (int i=1; i<l; i++)
        {
            if (i==1)
            {
                otv+=a.size();
            }
            else
            {
                long long r=(a.size());
                for (int j=0; j<i-1; j++)
                {
                    r*=(a.size());
                }
                otv+=r;
            }
        }

        for (int i=0;i<l;i++)
        {
            char c=n[i];
            for (int j=0;j<a.size();j++)
            {
                if (c==a[j])
                {
                    otv+=(j)*(cisn(l-i-1));
                }
            }
        }
    }
    cout<<otv;
}
