CF291C.Network Mask

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

The problem uses a simplified TCP/IP address model, please make sure you've read the statement attentively.

Polycarpus has found a job, he is a system administrator. One day he came across nn IP addresses. Each IP address is a 32 bit number, represented as a group of four 8-bit numbers (without leading zeroes), separated by dots. For example, the record 0.255.1.123 shows a correct IP address and records 0.256.1.123 and 0.255.1.01 do not. In this problem an arbitrary group of four 8-bit numbers is a correct IP address.

Having worked as an administrator for some time, Polycarpus learned that if you know the IP address, you can use the subnet mask to get the address of the network that has this IP addess.

The subnet mask is an IP address that has the following property: if we write this IP address as a 32 bit string, that it is representable as "11...11000..000". In other words, the subnet mask first has one or more one bits, and then one or more zero bits (overall there are 32 bits). For example, the IP address 2.0.0.0 is not a correct subnet mask as its 32-bit record looks as 00000010000000000000000000000000.

To get the network address of the IP address, you need to perform the operation of the bitwise "and" of the IP address and the subnet mask. For example, if the subnet mask is 255.192.0.0, and the IP address is 192.168.1.2, then the network address equals 192.128.0.0. In the bitwise "and" the result has a bit that equals 1 if and only if both operands have corresponding bits equal to one.

Now Polycarpus wants to find all networks to which his IP addresses belong. Unfortunately, Polycarpus lost subnet mask. Fortunately, Polycarpus remembers that his IP addresses belonged to exactly kk distinct networks. Help Polycarpus find the subnet mask, such that his IP addresses will belong to exactly kk distinct networks. If there are several such subnet masks, find the one whose bit record contains the least number of ones. If such subnet mask do not exist, say so.

输入格式

The first line contains two integers, nn and kk (1<=k<=n<=105)(1<=k<=n<=10^{5}) — the number of IP addresses and networks. The next nn lines contain the IP addresses. It is guaranteed that all IP addresses are distinct.

输出格式

In a single line print the IP address of the subnet mask in the format that is described in the statement, if the required subnet mask exists. Otherwise, print -1.

输入输出样例

  • 输入#1

    5 3
    0.0.0.1
    0.1.1.2
    0.0.2.1
    0.1.1.0
    0.0.2.3
    

    输出#1

    255.255.254.0
  • 输入#2

    5 2
    0.0.0.1
    0.1.1.2
    0.0.2.1
    0.1.1.0
    0.0.2.3
    

    输出#2

    255.255.0.0
  • 输入#3

    2 1
    255.0.0.1
    0.0.0.2
    

    输出#3

    -1
    
首页