# inserisco il numero in una stringa,
    # per poter fare operazioni sulle cifre
    # in base 10
    sm = str(m)

    # numero di cifre di m
    ncifre = len(sm)

    # creo 4 gruppi di cifre, lunghi l
    # (divisione tra interi)
    l = ncifre/4

    # se l=0, interviene il caso base

    if l == 0:
        return BaseSqrtRem(m)

    a0 = int(sm[-l:])
    a1 = int(sm[-2*l:-l])
    a2 = int(sm[-3*l:-2*l])
    a3 = int(sm[:-3*l])