public void visit(int pos){
		if(pos == num.length){
			ArrayList<Integer> item = new ArrayList<Integer>(num.length);
			for(Integer i : ans) item.add(i);
			res.add(item);
			return;
		}
		for(int i = 0; i < num.length; i++){
			if(!used[i]){
				ans[pos] = num[i];
				used[i] = true;
				visit(pos + 1);
				used[i] = false;
			}
		}
	}