static void ProcPair(bitarrPair pair, byte[] rule, List <bitarrPair> kole) { Console.WriteLine(pair); var p0int = pair.a[0].toInt(); var p1int = pair.a[1].toInt(); for (int i = 0; i < bitarr.blen; i++) { var k = pair.xchng(i, rule[i]); var k0int = k.a[0].toInt(); var k1int = k.a[1].toInt(); guarec[p0int][i] = k1int; guarec[p1int][rule[i]] = k0int; guarec[k1int][rule[i]] = p0int; guarec[k0int][i] = p1int; if (notcontn(kole, k)) { kole.Add(k); ProcPair(k, rule, kole); } } }