output_description: If the given triple is poor, print `Yes`; otherwise, print `No`.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      A B C
attempt: import numpy as np
  
  N, K = map(int, input().split())
  a = np.array(input().split(), np.int64)
  a = np.sort(a)
  zero = a[a == 0]
  pos = a[a > 0]
  neg = a[a < 0]
  
  
  def f(x):
      count = 0
      c = x // pos
      count += np.searchsorted(a, c, side="right").sum()
      count += N * len(zero) if x >= 0 else 0
      c = -(-x // neg)
      count += (N - np.searchsorted(a, c, side="left")).sum()
      count -= a[a * a <= x].size
      count //= 2
      return count
  
  
  right = 10**18
  left = -(10**18)
  while right - left > 1:
      mid = (right + left) // 2
      if f(mid) < K:
          left = mid
      else:
          right = mid
  
  print(int(right))
  
problem_description: Statement
  
  A triple of numbers is said to be _poor_ when two of those numbers are equal
  but the other number is different from those two numbers.
  
  You will be given three integers A, B, and C. If this triple is poor, print
  `Yes`; otherwise, print `No`.
samples: [{"input": "5 7 5", "output": "Yes\n    \n\nA and C are equal, but B is different from those two numbers, so this triple\nis poor.\n\n* * *"}, {"input": "4 4 4", "output": "No\n    \n\nA, B, and C are all equal, so this triple is not poor.\n\n* * *"}, {"input": "4 9 6", "output": "No\n    \n\n* * *"}, {"input": "3 3 4", "output": "Yes"}]