#include <bits/stdc++.h>
using namespace std;
int n, m, i, j;
int64_t a[111111];
int main() {
  int64_t t, x, y, z, w, i;
  cin >> n >> m;
  char c;
  for (i = 0; i < n; i++) {
    cin >> x >> c >> y >> c >> z >> c >> w;
    a[i] = (x << 24) + (y << 16) + (z << 8) + w;
  }
  t = 0;
  set<long long> s;
  for (i = 0; i < 31; i++) {
    t |= 1LL << (31 - i);
    s.clear();
    for (j = 0; j < n; j++) s.insert(a[j] & t);
    if (s.size() == m) {
      cout << ((t >> 24) & 255) << '.';
      cout << ((t >> 16) & 255) << '.';
      cout << ((t >> 8) & 255) << '.';
      cout << (t & 255);
      return (0);
    }
  }
  cout << -1;
}
