p1 = p2 = p3 = 1i = -1;loop if (++i % 2) d[i] = 8*p1 - 6*p2 + 1 else d[i] = 9*p1 - 9*p3 + 1 p2 *= 2 p3 *= 2 p1 *= 2 if 3*d[i] >= n break if i > 0 return --i return 0