#codefestival2015qualBb. [codefestival_2015_qualB_b]Grading

[codefestival_2015_qualB_b]Grading

Problem Statement

Mr. Takahashi is marking examination papers of his students. Unfortunately, he has forgotten the correct answer to a certain question.

NN students answered this question by an integer between 00 and MM, inclusive. He has decided to assume the correct answer to be the integer XX if more than half of the students answered XX.

You are given the answers of the NN students to this question. If he is going to assume the correct answer to be some integer XX, print the value of XX. If he is unable to assume the correct answer to be any integer, print ?.


Input

Input is given from Standard Input in the following format:

NN MM A1A_1 A2A_2 ... ANA_N

  • The first line contains two space-separated integers N(1N105)N (1 ≦ N ≦ 10^5) and M(1M105)M (1 ≦ M ≦ 10^5).
  • The second line contains NN space-separated integers A1,A_1, A2,A_2, ...,..., AN.A_N. For each i(1iN),i (1 ≦ i ≦ N), Ai(0AiM)A_i (0 ≦ A_i ≦ M) represents the answer of the ithi^{th} student.

Output

If Mr. Takahashi is going to assume the correct answer to be some integer XX, print the value of XX in a single line. Otherwise, print ?. Be sure to print a newline at the end of output.

Partial Points

Partial points may be awarded in this problem:

  • 4040 points will be awarded for passing the test set satisfying N100N ≦ 100, M100.M ≦ 100.
  • Another 6060 points will be awarded for passing the test set without additional constraints.

入力例1


3 2
2 1 2

出力例1


2

入力例2


4 2
2 1 2 1

出力例2


?

入力例3


10 1
0 0 0 0 0 0 1 1 1 1

出力例3


0

入力例4


10 5
0 1 2 3 4 5 5 5 5 5

出力例4


?