m2n2 alg