Python (Simple Binary Search)
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```python3 []\nclass Solution:\n    def kthSmallestProduct(self, nums1, nums2, k):\n        def function(x):\n            total = 0 \n\n            for num in nums1:\n                if num > 0: total += bisect.bisect_right(nums2,x//num)\n                if num < 0: total += len(nums2) - bisect.bisect_left(nums2,math.ceil(x/num))\n                if num == 0 and x >= 0: total += len(nums2)\n\n            return total \n\n        low, high = -10**11, 10**11\n\n        while low <= high:\n            mid = (low+high)//2 \n\n            if function(mid) >= k:\n                high = mid - 1 \n            else:\n                low = mid + 1 \n\n        return low \n```
['Python3']