WITH RECURSIVE m(x,l,r) AS ( SELECT 1, '' AS l, substr(v, 0) AS r FROM i UNION ALL SELECT x + 1, substr(r,1,8) AS t, CASE WHEN t='00000000' or t='00000001' or t='00000011' or t='00000110' or t='00001010' or t='00001111' or t='00010101' or t='00011100' or t='00100100' or t='00101101' or t='00110111' or t='01000010' or t='01001110' or t='01011011' or t='01101001' or t='01111000' or t='10001000' or t='10011001' or t='10101011' or t='10111110' or t='11010010' or t='11100111' or t='11111101' THEN 1 ELSE 0 END AS l, substr(r, 10) AS r FROM m WHERE r != '' ) SELECT l FROM m WHERE l != ''