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: N, K = map(int, input().split())
  A_s = list(map(int, input().split()))
  minus = [-x for x in A_s if x < 0]
  plus = [x for x in A_s if x >= 0]
  minus.sort()
  plus.sort()
  
  
  def cnt(x):
      ans = 0
      if x < 0:
          r = 0
          x = -x
          for num in minus[::-1]:
              while r < len(plus) and plus[r] * num < x:
                  r += 1
              ans += len(plus) - r
          return ans
  
      r = 0
      for num in minus[::-1]:
          if num * num <= x:
              ans -= 1
          while r < len(minus) and minus[r] * num <= x:
              r += 1
          ans += r
      r = 0
      for num in plus[::-1]:
          if num * num <= x:
              ans -= 1
          while r < len(plus) and plus[r] * num <= x:
              r += 1
          ans += r
      ans //= 2
      ans += len(minus) * len(plus)
      return ans
  
  
  top = 2 * (10**18) + 2
  bottom = 0
  
  while top - bottom > 1:
      mid = (top + bottom) // 2
      if cnt(mid - 10**18 - 1) < K:
          bottom = mid
      else:
          top = mid
  print(int(top - 10**18 - 1))
  
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"}]