#include <bits/stdc++.h>
using namespace std;
bool intersect(int x, int y);
int n, m, v[55][10005];
int main() {
  int i, j;
  cin >> m >> n;
  for (i = 1; i <= m; i++) {
    cin >> v[i][0];
    for (j = 1; j <= v[i][0]; j++) cin >> v[i][j];
  }
  for (i = 1; i < m; i++)
    for (j = i + 1; j <= m; j++)
      if (!intersect(i, j)) {
        cout << "impossible\n";
        return 0;
      }
  cout << "possible\n";
  return 0;
}
bool intersect(int x, int y) {
  int i, uz[10005];
  memset(uz, 0, sizeof(uz));
  for (i = 1; i <= v[x][0]; i++) uz[v[x][i]] = 1;
  for (i = 1; i <= v[y][0]; i++)
    if (uz[v[y][i]]) return 1;
  return 0;
}
