#include <bits/stdc++.h>
using namespace std;
const int MAXN = 5017;
char s[MAXN][MAXN];
int vis[MAXN];
int n;
bool dfs(int u, int fa) {
  vis[u] = 1;
  for (int i = 1; i <= n; i++) {
    if (s[u][i] - '0') {
      if (s[i][fa] - '0') {
        printf("%d %d %d\n", fa, u, i);
        return true;
      }
      if (!vis[i])
        if (dfs(i, u)) return true;
    }
  }
  return false;
}
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) scanf("%s", s[i] + 1);
  int fl = 0;
  for (int i = 1; i <= n; i++)
    if (!vis[i])
      if (dfs(i, i)) return 0;
  puts("-1");
  return 0;
}
