The **next greater element** of some element `x` in an array is the first greater element that is to the right of `x` in the same array.
You are given two distinct 0-indexed integer arrays `nums1` and `nums2`, where `nums1` is a subset of `nums2`.
For each `0 <= i < nums1.length`, find the index `j` such that `nums1[i] == nums2[j]` and determine the next greater element of `nums2[j]` in `nums2`. If there is no next greater element, then the answer for this query is `-1`.
Return an array `ans` of length `nums1.length` such that `ans[i]` is the next greater element as described above.
### Constraints
- `1 <= nums1.length <= nums2.length <= 1000`
- `0 <= nums1[i], nums2[i] <= 10^4`
- All integers in `nums1` and `nums2` are unique.
- All elements in `nums1` also appear in `nums2`.
### Input Format
First line contains space-separated integers representing `nums1`.
Second line contains space-separated integers representing `nums2`.
### Output Format
Print the space-separated integers of the resulting array.
Sample Cases
Example 1Sample Case
Input: 4 1 2
1 3 4 2
Output: -1 3 -1
Example 2Sample Case
Input: 2 4
1 2 3 4
Output: 3 -1
Example 3Sample Case
Input: 4
1
Output: -1
Example 4Sample Case
Input: 4 1 2
4 1 2
Output: -1 2 -1
Constraints
Runtime Limit: 2000 ms per test batch
Memory Limit: 256 MB
Standard I/O stream reading
Official submissions are evaluated against hidden test cases on the server to verify time & memory complexity.