public List<Node> getSuccessors() {
			List<Node> valids = new ArrayList<Node>();
			for (int i = 0; i < state.length; i++) {
				for (int j = 0; j < state.length; j++) {
					if (state[i][j] == ' ') {
						if (i != 0) {
							char[][] newState = {state[0].clone(),state[1].clone(),state[2].clone(),state[3].clone()};
							newState[i-1][j] = state[i][j];
							newState[i][j] = state[i-1][j];
							valids.add(new Node(newState, this,sequence+"D"));
						}
						if (i+1 != state.length) {
							char[][] newState = {state[0].clone(),state[1].clone(),state[2].clone(),state[3].clone()};
							newState[i+1][j] = state[i][j];
							newState[i][j] = state[i+1][j];
							valids.add(new Node(newState, this, sequence+"U"));
						}
						if (j != 0) {
							char[][] newState = {state[0].clone(),state[1].clone(),state[2].clone(),state[3].clone()};
							newState[i][j-1] = state[i][j];
							newState[i][j] = state[i][j-1];
							valids.add(new Node(newState, this, sequence+"R"));
						}
						if (j+1 != state.length) {
							char[][] newState = {state[0].clone(),state[1].clone(),state[2].clone(),state[3].clone()};
							newState[i][j+1] = state[i][j];
							newState[i][j] = state[i][j+1];
							valids.add(new Node(newState, this, sequence+"L"));
						}
					}
				}
			}
			return valids;
		}