private boolean alg_s1() {
		switch (alg_pos) {
			case 0:
				return alg_set(0, 0);
			case 1:
				if (alg_get(1, 1) != 0) {
					return alg_set(2, 2);
				}
				if (alg_get(0, 1) != 0 || alg_get(0, 2) != 0) {
					return alg_set(2, 0);
				}
				return alg_set(0, 2);
			case 2:
				if (alg_get(2, 0) != 0 || (alg_get(0, 1) == alg_get(1, 0))) {
					return alg_set(2, 2);
				}
				return alg_set(2, 0);
			default:
				return false;
		}
	}