private static void getLIS(List<Person> persons, ArrayList<Person>[] solutions, int index) {
        if (index > persons.size() - 1) return;
        ArrayList<Person> bestSolution = new ArrayList<Person>();
        Person current = persons.get(index);
        for (int i = 0; i < index; ++i) {
            if (persons.get(i).weight < current.weight) {
                if (solutions[i] != null & solutions[i].size() > bestSolution.size()) {
                    bestSolution = solutions[i];
                }
            }
        }
        ArrayList<Person> newSolution = new ArrayList<Person>(bestSolution);
        newSolution.add(current);
        solutions[index] = newSolution;
        getLIS(persons, solutions, index + 1);
    }