void fillSet(int[][] A) {
		int n=A.length;
		List<Set<Integer>> l=new ArrayList<>();
		Set<Integer> all=new HashSet<>();
		for (int i=0;i<n;++i)all.add(i+1);
		for (int i=0;i<2*n;++i)l.add(new HashSet<Integer>(all));
		for (int i=0;i<n;++i) 
			for (int j=0;j<n;++j) 
				if (A[i][j]!=-1) 
					l.get(i).remove(A[i][j]);
		for (int i=0;i<n;++i) 
			for (int j=0;j<n;++j)
				if (A[i][j]==-1) {
					Set<Integer> t=new HashSet<>(all);
					t.removeAll(l.get(i));
					t.removeAll(l.get(n+j));
					Integer[]o=(Integer[]) t.toArray();
					A[i][j]=o[0];
				}
	}