/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class solution
{
public static void main
(String[] args
) {
int[] nums={1,7,5,1,9,2,5,1};
int[] res=new int[nums.length];
Nextgreat(nums, res);
for (int e: res)
}
public static void Nextgreat(int[] nums, int[] res)
{
Stack<Integer>stack=new Stack<>();
for (int i=0; i<nums.length; i++)
{
while (!stack.isEmpty()&&nums[stack.peek()]<nums[i])
res[stack.pop()]=nums[i];
stack.push(i);
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmNsYXNzIHNvbHV0aW9uCnsKcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpCnsKaW50W10gbnVtcz17MSw3LDUsMSw5LDIsNSwxfTsKaW50W10gcmVzPW5ldyBpbnRbbnVtcy5sZW5ndGhdOwpOZXh0Z3JlYXQobnVtcywgcmVzKTsKZm9yIChpbnQgZTogcmVzKQpTeXN0ZW0ub3V0LnByaW50bG4oZSk7Cn0KcHVibGljIHN0YXRpYyB2b2lkIE5leHRncmVhdChpbnRbXSBudW1zLCBpbnRbXSByZXMpCnsKU3RhY2s8SW50ZWdlcj5zdGFjaz1uZXcgU3RhY2s8PigpOwpmb3IgKGludCBpPTA7IGk8bnVtcy5sZW5ndGg7IGkrKykKICAgewogICAgd2hpbGUgKCFzdGFjay5pc0VtcHR5KCkmJm51bXNbc3RhY2sucGVlaygpXTxudW1zW2ldKQogICAgICAgICByZXNbc3RhY2sucG9wKCldPW51bXNbaV07CiAgICBzdGFjay5wdXNoKGkpOwogICB9Cn0KfQoK