#include <bits/stdc++.h>
using std::cin;
using std::cout;
using std::endl;
bool check_tanku(std::vector<std::string> v, int ind) {
  int piv = 0;
  int n = v.size();
  int l = 0;
  for (int i = ind + piv; i < n && l < 5; i++) {
    l += v[i].length();
    if (l > 5) {
      return false;
    }
    piv++;
  }
  l = 0;
  for (int i = ind + piv; i < n && l < 5; i++) {
    l += v[i].length();
    if (l > 7) {
      return false;
    }
    piv++;
  }
  l = 0;
  for (int i = ind + piv; i < n && l < 5; i++) {
    l += v[i].length();
    if (l > 5) {
      return false;
    }
    piv++;
  }
  l = 0;
  for (int i = ind + piv; i < n && l < 5; i++) {
    l += v[i].length();
    if (l > 7) {
      return false;
    }
    piv++;
  }
  l = 0;
  for (int i = ind + piv; i < n && l < 5; i++) {
    l += v[i].length();
    if (l > 7) {
      return false;
    }
    piv++;
  }
  return true;
}
int main(void) {
  int n;
  int limit = 31;
  cin >> n;
  while (n != 0) {
    std::vector<std::string> tan(n);
    std::vector<int> len(n, 0);
    bool find = false;
    for (int i = 0; i < n; i++) {
      cin >> tan[i];
    }
    for (int i = 0; i < n; i++) {
      for (int j = i; j < n && len[i] < limit; j++) {
        len[i] += tan[j].length();
      }
    }
    int temp;
    for (int i = 0; i < n && !(find); i++) {
      if (len[i] == limit) {
        if (check_tanku(tan, i)) {
          cout << i + 1 << endl;
          find = true;
        }
      }
    }
    cin >> n;
  }
  return 0;
}
