#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  std::cin >> n;
  std::vector<bool> jedynki(n, false);
  for (int i = 0; i < (n); ++i) {
    int x;
    std::cin >> x;
    if (x == 1) {
      jedynki[i] = true;
    }
  }
  std::vector<int> perm(n);
  for (int i = 0; i < (n); ++i) {
    perm[i] = i;
  }
  int good = 0;
  do {
    bool ok = true;
    for (int i = 0; i < (n); ++i)
      if (jedynki[i]) {
        int latacz = perm[i];
        int ile_jedynek = 1;
        int start = i;
        int last_one = i;
        while (latacz != i) {
          if (jedynki[latacz]) {
            ++ile_jedynek;
          }
          last_one = latacz;
          latacz = perm[latacz];
        }
        if (ile_jedynek == 1) {
          continue;
        }
        if (ile_jedynek == 2) {
          continue;
        }
        ok = false;
        break;
      }
    if (ok) {
      ++good;
    }
  } while (next_permutation(perm.begin(), perm.end()));
  std::cout << good << std::endl;
}
