public void dfs(int[] num, int index){
        List<List<Integer>> tmp = new ArrayList<List<Integer>>();
        for(List<Integer> single : result){
            List<Integer> set = new ArrayList<Integer>(single);
            set.add(num[index]);
            if(!result.contains(set)) tmp.add(set);
        }
        result.addAll(tmp);
    }