#include <iostream>
#include <cstdio>
using namespace std;

const int N = 2005, MOD = 998244353;

string s;
int su = 0, f[2 * N][2 * N];

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    f[0][0] = 1;
    cin >> s;
    for (int i = 1; i <= 2 * s.size(); i++)
    {
        su += (i <= s.size() ? s[i - 1] - '0' : 0);
        for (int j = max(0, i - 2 * min((int)s.size(), i) + su); j <= su && j <= i; j++)
        {
            (f[i][j] += f[i - 1][j]) %= MOD;
            if (j > 0)
                (f[i][j] += f[i - 1][j - 1]) %= MOD;
        }
    }
    cout << f[2 * s.size()][su];
}
