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

int d[111111];
int main() {
    int n, p = 1e9 + 7, c = 0;
    cin >> n;
    long r = 1;
    for(int i = 0; i < n; i++) {
        int a;
        scanf("%d", &a);
        if(a)
            (r *= d[a - 1]--) %= p;
        else
            c++;
        d[a]++;
    }
    if(c > 3)
        r = 0;
    cout << r * (c < 2 ? 3 : 6) % p << endl;
    return 0;
}
