List<Score> matchCouple(List<Person> ps, List<Person> left){
        left.clear();
        System.out.println("matching");
        Map<Person, List<Score>> table = calculateAffinity(ps);
        //
        List<Score> result = matchCoupleRound(table);
        ps.stream()
          .filter(p -> result.stream().noneMatch(s -> s.self.equals(p) || s.target.equals(p)))
          .forEach(left::add);
        System.out.println("match " + result);
        System.out.println("left " + left);
        return result;
    }