#include <bits/stdc++.h>
using namespace std;
int n, v[5000];
char a[5000][5050];
bool dfs(int x, int from) {
  v[x] = 1;
  for (int y = 0; y < n; y++)
    if (a[x][y] == '1') {
      if (!v[y]) {
        if (dfs(y, x)) return true;
      } else {
        if (a[y][from] == '1') {
          printf("%d %d %d\n", y + 1, from + 1, x + 1);
          return true;
        }
      }
    }
  return false;
}
int main() {
  scanf("%d", &n);
  gets(a[0]);
  for (int i = 0; i < n; i++) gets(a[i]);
  for (int i = 0; i < n; i++)
    if (!v[i])
      if (dfs(i, -1)) return 0;
  puts("-1");
}
