package collections;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.util.stream.Collectors;
import static java.lang.Integer.parseInt;
import static java.lang.System.in;
public class StatisticsOfShootingCompetitionResults {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(in));
int n = parseInt(bf.readLine());
List<Integer> ids = Arrays.stream(bf.readLine().split(",")).limit(n).map(Integer::parseInt).toList();
List<Integer> scores = Arrays.stream(bf.readLine().split(",")).limit(n).map(Integer::parseInt).toList();
bf.close();
Map<Integer, List<Integer>> res = new HashMap();
for (int i = 0; i < n; i++) {
Integer id = ids.get(i);
Integer score = scores.get(i);
List<Integer> orDefault = res.getOrDefault(id, new LinkedList<>());
orDefault.add(score);
res.put(id, orDefault);
}
String collect = res.entrySet().stream()
.filter(per -> (per.getValue().size() >= 3))
.sorted((p1, p2) -> {
int sum1 = p1.getValue().stream().sorted(Comparator.reverseOrder()).limit(3).mapToInt(Integer::valueOf).sum();
int sum2 = p2.getValue().stream().sorted(Comparator.reverseOrder()).limit(3).mapToInt(Integer::valueOf).sum();
if (sum1 == sum2) {
return p2.getKey() - p1.getKey();
} else {
return sum2 - sum1;
}
})
.map(Map.Entry::getKey)
.map(String::valueOf)
.collect(Collectors.joining(","));
System.out.println(collect);
}
}