def chiffre_barre_carre(s, r, i, j):
    """
    Look into every number in sub square *i, j*,
    if a number in it ``s[i][k]`` is not null,

    @param      s       current state of the sudoku
    @param      r       array ``r[n] == 0`` means number *n+1* is already taken on this sub square
    @param      i       sub square are indexed by :math:`(i, j) \\in \\{0, 1, 2\\}^2` (0 based)
    @param      j       see parameter *i*
    """
    a = i // 3 * 3
    b = j // 3 * 3
    for k in range(a, a + 3):
        for l in range(b, b + 3):
            if s[k][l] > 0:
                r[s[k][l] - 1] = 0
