#include <bits/stdc++.h>
using namespace std;
char s[110];
map<int, bool> mp[3];
bool Check(int x) {
  if (x < 10) {
    if (mp[0][x] || mp[1][x] || mp[2][x]) return true;
  } else if (x < 100) {
    int a = x / 10, b = x % 10;
    if (mp[0][a] && mp[1][b]) return true;
    if (mp[0][a] && mp[2][b]) return true;
    if ((mp[1][a] && mp[2][b]) || (mp[1][a] && mp[0][b])) return true;
    if ((mp[2][a] && mp[0][b]) || (mp[2][a] && mp[1][b])) return true;
  }
  return false;
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    for (int x, j = 0; j < 6; ++j) {
      scanf("%d", &x);
      mp[i][x] = true;
    }
  }
  int i;
  for (i = 1; i < 1000; ++i) {
    if (!Check(i)) break;
  }
  printf("%d\n", i - 1);
  return 0;
}
