public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
       if (array.length==0)
            return new ArrayList<Integer>();
        TreeMap<Integer, ArrayList<Integer>> map = new TreeMap<>();
        HashSet<Integer> set = new HashSet<>();
        for(int i=0;i<array.length;i++){
            int target=sum-array[i];
            if (set.contains(target)){
                ArrayList<Integer> integers = new ArrayList<>();
                integers.add(target);
                integers.add(array[i]);
                map.put(target*array[i],integers);
            }else{
                set.add(array[i]);
            }
        }
        if (map.size()>0){
            return map.get(map.firstKey());
        }else{
            return new ArrayList<Integer>();
        }
    }