% http://www.cs.kuleuven.be/~dtai/events/ASP-competition/Benchmarks/MaxClique.shtml % ported to Picat by Neng-Fa Zhou import sat. main => test2. asp(As) => cl_facts(As,\$[edge(+,+)]), node(N), Vars = new_list(N), Vars :: 0..1, foreach(I in 1..N-1, J in I+1..N) if not edge(I,J), not edge(J,I) then Vars[I]+Vars[J] #=< 1 end end, Card #= sum(Vars), solve(\$[max(Card), report(println(Card))],Vars), writeln(Card), foreach(I in 1..N) if Vars[I]==1 then printf("clique(%w). ",I) end end, nl. % vertices are numbered 1, 2, and so on. Vertices u and v are connected if either edge(u,v) or edge(v,u). test => asp(\$[node(6),edge(1,2),edge(1,5),edge(2,3),edge(2,5),edge(3,4),edge(4,5),edge(4,6)]). test1 => asp(\$[node(17), edge(1,2), edge(1,12), edge(1,14), edge(1,15), edge(2,3), edge(2,15), edge(3,4), edge(3,15), edge(4,5), edge(4,15), edge(5,6), edge(5,15), edge(5,16), edge(6,7), edge(6,16), edge(7,8), edge(7,16), edge(7,17), edge(8,9), edge(8,17), edge(9,10), edge(9,13), edge(9,17), edge(10,11), edge(10,13), edge(11,12), edge(11,13), edge(12,13), edge(12,14), edge(13,14), edge(13,15), edge(13,16), edge(13,17), edge(14,15), edge(14,16), edge(14,17), edge(15,16), edge(15,17), edge(16,17)]). test2 => asp(\$[ node(99), edge(1,2), edge(1,4), edge(1,5), edge(1,6), edge(1,7), edge(1,9), edge(1,10), edge(1,11), edge(1,12), edge(1,13), edge(1,17), edge(1,18), edge(1,19), edge(1,22), edge(1,26), edge(1,28), edge(1,29), edge(1,30), edge(1,31), edge(1,34), edge(1,36), edge(1,39), edge(1,40), edge(1,41), edge(1,42), edge(1,43), edge(1,44), edge(1,45), edge(1,46), edge(1,48), edge(1,52), edge(1,56), edge(1,59), edge(1,61), edge(1,65), edge(1,67), edge(1,68), edge(1,70), edge(1,71), edge(1,72), edge(1,75), edge(1,78), edge(1,79), edge(1,80), edge(1,81), edge(1,86), edge(1,87), edge(1,89), edge(1,92), edge(1,94), edge(1,95), edge(1,97), edge(1,99), edge(2,12), edge(2,17), edge(2,22), edge(2,23), edge(2,26), edge(2,28), edge(2,29), edge(2,30), edge(2,31), edge(2,34), edge(2,35), edge(2,39), edge(2,52), edge(2,58), edge(2,62), edge(2,67), edge(2,68), edge(2,70), edge(2,78), edge(2,82), edge(2,86), edge(2,92), edge(2,94), edge(2,95), edge(2,97), edge(3,8), edge(3,15), edge(3,18), edge(3,19), edge(3,20), edge(3,21), edge(3,23), edge(3,24), edge(3,28), edge(3,29), edge(3,32), edge(3,40), edge(3,43), edge(3,45), edge(3,46), edge(3,48), edge(3,49), edge(3,50), edge(3,51), edge(3,53), edge(3,54), edge(3,60), edge(3,64), edge(3,68), edge(3,70), edge(3,71), edge(3,76), edge(3,78), edge(3,84), edge(3,85), edge(3,87), edge(3,88), edge(3,90), edge(3,96), edge(3,99), edge(4,5), edge(4,6), edge(4,7), edge(4,10), edge(4,11), edge(4,17), edge(4,18), edge(4,19), edge(4,21), edge(4,22), edge(4,24), edge(4,25), edge(4,27), edge(4,28), edge(4,29), edge(4,30), edge(4,35), edge(4,37), edge(4,38), edge(4,39), edge(4,40), edge(4,42), edge(4,43), edge(4,46), edge(4,48), edge(4,50), edge(4,54), edge(4,55), edge(4,58), edge(4,60), edge(4,61), edge(4,63), edge(4,67), edge(4,68), edge(4,69), edge(4,70), edge(4,71), edge(4,73), edge(4,74), edge(4,76), edge(4,78), edge(4,79), edge(4,83), edge(4,84), edge(4,88), edge(4,93), edge(4,94), edge(4,95), edge(4,96), edge(4,99), edge(5,10), edge(5,11), edge(5,13), edge(5,15), edge(5,18), edge(5,19), edge(5,21), edge(5,22), edge(5,24), edge(5,25), edge(5,26), edge(5,27), edge(5,28), edge(5,30), edge(5,36), edge(5,37), edge(5,39), edge(5,40), edge(5,42), edge(5,43), edge(5,44), edge(5,46), edge(5,48), edge(5,50), edge(5,51), edge(5,54), edge(5,55), edge(5,56), edge(5,60), edge(5,61), edge(5,62), edge(5,63), edge(5,66), edge(5,67), edge(5,68), edge(5,69), edge(5,70), edge(5,72), edge(5,73), edge(5,76), edge(5,78), edge(5,79), edge(5,80), edge(5,81), edge(5,82), edge(5,84), edge(5,86), edge(5,90), edge(5,91), edge(5,93), edge(5,94), edge(5,96), edge(5,98), edge(5,99), edge(6,7), edge(6,9), edge(6,10), edge(6,12), edge(6,13), edge(6,17), edge(6,18), edge(6,24), edge(6,28), edge(6,36), edge(6,38), edge(6,40), edge(6,42), edge(6,43), edge(6,45), edge(6,48), edge(6,51), edge(6,53), edge(6,56), edge(6,59), edge(6,65), edge(6,67), edge(6,69), edge(6,70), edge(6,72), edge(6,79), edge(6,81), edge(6,83), edge(6,84), edge(6,86), edge(6,87), edge(6,88), edge(6,95), edge(6,96), edge(6,97), edge(7,9), edge(7,10), edge(7,11), edge(7,12), edge(7,13), edge(7,18), edge(7,21), edge(7,28), edge(7,29), edge(7,33), edge(7,35), edge(7,36), edge(7,37), edge(7,42), edge(7,43), edge(7,45), edge(7,48), edge(7,56), edge(7,58), edge(7,59), edge(7,63), edge(7,64), edge(7,72), edge(7,74), edge(7,76), edge(7,79), edge(7,83), edge(7,87), edge(7,93), edge(7,95), edge(7,97), edge(8,15), edge(8,18), edge(8,19), edge(8,21), edge(8,23), edge(8,24), edge(8,28), edge(8,29), edge(8,32), edge(8,34), edge(8,40), edge(8,43), edge(8,45), edge(8,46), edge(8,49), edge(8,50), edge(8,51), edge(8,53), edge(8,54), edge(8,58), edge(8,60), edge(8,64), edge(8,68), edge(8,70), edge(8,71), edge(8,76), edge(8,78), edge(8,84), edge(8,87), edge(8,88), edge(8,95), edge(8,96), edge(8,99), edge(9,10), edge(9,12), edge(9,13), edge(9,17), edge(9,18), edge(9,19), edge(9,22), edge(9,24), edge(9,25), edge(9,29), edge(9,30), edge(9,31), edge(9,36), edge(9,40), edge(9,41), edge(9,42), edge(9,44), edge(9,45), edge(9,48), edge(9,50), edge(9,56), edge(9,59), edge(9,65), edge(9,71), edge(9,72), edge(9,75), edge(9,77), edge(9,78), edge(9,79), edge(9,80), edge(9,81), edge(9,84), edge(9,85), edge(9,86), edge(9,87), edge(9,89), edge(9,90), edge(9,92), edge(9,97), edge(9,98), edge(9,99), edge(10,11), edge(10,12), edge(10,13), edge(10,16), edge(10,18), edge(10,19), edge(10,21), edge(10,22), edge(10,28), edge(10,30), edge(10,36), edge(10,40), edge(10,42), edge(10,43), edge(10,45), edge(10,46), edge(10,48), edge(10,49), edge(10,56), edge(10,59), edge(10,61), edge(10,68), edge(10,72), edge(10,78), edge(10,79), edge(10,87), edge(10,91), edge(10,93), edge(10,99), edge(11,18), edge(11,19), edge(11,21), edge(11,22), edge(11,26), edge(11,27), edge(11,28), edge(11,29), edge(11,30), edge(11,35), edge(11,36), edge(11,37), edge(11,39), edge(11,40), edge(11,42), edge(11,43), edge(11,46), edge(11,48), edge(11,49), edge(11,50), edge(11,55), edge(11,56), edge(11,58), edge(11,59), edge(11,61), edge(11,62), edge(11,63), edge(11,67), edge(11,68), edge(11,72), edge(11,73), edge(11,74), edge(11,76), edge(11,78), edge(11,84), edge(11,85), edge(11,86), edge(11,90), edge(11,92), edge(11,93), edge(11,95), edge(11,99), edge(12,13), edge(12,17), edge(12,18), edge(12,26), edge(12,27), edge(12,34), edge(12,36), edge(12,39), edge(12,42), edge(12,45), edge(12,48), edge(12,52), edge(12,55), edge(12,56), edge(12,58), edge(12,59), edge(12,62), edge(12,67), edge(12,68), edge(12,70), edge(12,72), edge(12,78), edge(12,79), edge(12,83), edge(12,86), edge(12,87), edge(12,90), edge(12,92), edge(12,94), edge(12,95), edge(12,97), edge(13,15), edge(13,18), edge(13,22), edge(13,24), edge(13,25), edge(13,26), edge(13,27), edge(13,29), edge(13,30), edge(13,31), edge(13,33), edge(13,36), edge(13,40), edge(13,42), edge(13,45), edge(13,46), edge(13,48), edge(13,50), edge(13,56), edge(13,57), edge(13,59), edge(13,60), edge(13,61), edge(13,62), edge(13,63), edge(13,66), edge(13,68), edge(13,70), edge(13,71), edge(13,72), edge(13,73), edge(13,79), edge(13,80), edge(13,81), edge(13,84), edge(13,85), edge(13,87), edge(13,90), edge(13,91), edge(13,92), edge(13,94), edge(13,95), edge(13,96), edge(13,98), edge(13,99), edge(14,24), edge(14,27), edge(14,28), edge(14,34), edge(14,38), edge(14,41), edge(14,43), edge(14,45), edge(14,50), edge(14,56), edge(14,57), edge(14,59), edge(14,60), edge(14,64), edge(14,67), edge(14,71), edge(14,74), edge(14,79), edge(14,83), edge(14,86), edge(14,87), edge(14,88), edge(14,89), edge(14,91), edge(14,93), edge(15,18), edge(15,19), edge(15,21), edge(15,23), edge(15,24), edge(15,25), edge(15,26), edge(15,27), edge(15,28), edge(15,29), edge(15,32), edge(15,36), edge(15,40), edge(15,45), edge(15,46), edge(15,49), edge(15,51), edge(15,52), edge(15,56), edge(15,57), edge(15,62), edge(15,68), edge(15,70), edge(15,71), edge(15,73), edge(15,77), edge(15,80), edge(15,81), edge(15,84), edge(15,86), edge(15,91), edge(15,92), edge(15,93), edge(15,96), edge(15,98), edge(16,24), edge(16,36), edge(16,37), edge(16,52), edge(16,58), edge(16,62), edge(16,76), edge(16,82), edge(16,94), edge(17,18), edge(17,19), edge(17,23), edge(17,24), edge(17,26), edge(17,28), edge(17,29), edge(17,31), edge(17,34), edge(17,38), edge(17,39), edge(17,40), edge(17,41), edge(17,43), edge(17,44), edge(17,46), edge(17,52), edge(17,54), edge(17,59), edge(17,65), edge(17,67), edge(17,68), edge(17,69), edge(17,70), edge(17,71), edge(17,75), edge(17,78), edge(17,80), edge(17,81), edge(17,82), edge(17,83), edge(17,86), edge(17,88), edge(17,89), edge(17,92), edge(17,94), edge(17,95), edge(17,96), edge(17,97), edge(17,99), edge(18,19), edge(18,21), edge(18,23), edge(18,24), edge(18,28), edge(18,29), edge(18,32), edge(18,35), edge(18,36), edge(18,37), edge(18,38), edge(18,40), edge(18,42), edge(18,43), edge(18,45), edge(18,46), edge(18,48), edge(18,49), edge(18,51), edge(18,56), edge(18,58), edge(18,59), edge(18,60), edge(18,63), edge(18,68), edge(18,69), edge(18,70), edge(18,71), edge(18,72), edge(18,74), edge(18,76), edge(18,79), edge(18,80), edge(18,83), edge(18,87), edge(18,88), edge(18,93), edge(18,95), edge(18,96), edge(19,21), edge(19,23), edge(19,24), edge(19,27), edge(19,28), edge(19,29), edge(19,31), edge(19,32), edge(19,36), edge(19,39), edge(19,40), edge(19,41), edge(19,42), edge(19,44), edge(19,45), edge(19,46), edge(19,49), edge(19,50), edge(19,51), edge(19,55), edge(19,56), edge(19,65), edge(19,67), edge(19,68), edge(19,70), edge(19,71), edge(19,73), edge(19,75), edge(19,80), edge(19,81), edge(19,84), edge(19,86), edge(19,89), edge(19,93), edge(19,96), edge(19,97), edge(19,99), edge(20,22), edge(20,24), edge(20,26), edge(20,36), edge(20,41), edge(20,44), edge(20,58), edge(20,65), edge(20,67), edge(20,69), edge(20,84), edge(20,92), edge(21,23), edge(21,24), edge(21,26), edge(21,27), edge(21,28), edge(21,29), edge(21,32), edge(21,34), edge(21,35), edge(21,36), edge(21,37), edge(21,39), edge(21,40), edge(21,42), edge(21,43), edge(21,45), edge(21,46), edge(21,49), edge(21,50), edge(21,51), edge(21,55), edge(21,56), edge(21,58), edge(21,59), edge(21,60), edge(21,62), edge(21,63), edge(21,67), edge(21,68), edge(21,70), edge(21,71), edge(21,72), edge(21,73), edge(21,74), edge(21,76), edge(21,82), edge(21,84), edge(21,86), edge(21,90), edge(21,92), edge(21,93), edge(21,95), edge(21,96), edge(21,99), edge(22,23), edge(22,24), edge(22,25), edge(22,26), edge(22,28), edge(22,29), edge(22,30), edge(22,35), edge(22,36), edge(22,40), edge(22,42), edge(22,43), edge(22,44), edge(22,46), edge(22,47), edge(22,48), edge(22,50), edge(22,54), edge(22,58), edge(22,61), edge(22,62), edge(22,63), edge(22,65), edge(22,67), edge(22,68), edge(22,69), edge(22,72), edge(22,78), edge(22,81), edge(22,82), edge(22,83), edge(22,84), edge(22,85), edge(22,90), edge(22,92), edge(22,98), edge(22,99), edge(23,24), edge(23,28), edge(23,29), edge(23,30), edge(23,32), edge(23,35), edge(23,40), edge(23,45), edge(23,46), edge(23,48), edge(23,49), edge(23,51), edge(23,58), edge(23,62), edge(23,67), edge(23,68), edge(23,70), edge(23,71), edge(23,82), edge(23,87), edge(23,96), edge(24,25), edge(24,26), edge(24,27), edge(24,28), edge(24,29), edge(24,30), edge(24,32), edge(24,34), edge(24,36), edge(24,37), edge(24,38), edge(24,40), edge(24,41), edge(24,42), edge(24,43), edge(24,45), edge(24,46), edge(24,49), edge(24,50), edge(24,51), edge(24,52), edge(24,56), edge(24,57), edge(24,58), edge(24,62), edge(24,64), edge(24,68), edge(24,69), edge(24,70), edge(24,71), edge(24,72), edge(24,73), edge(24,79), edge(24,80), edge(24,81), edge(24,82), edge(24,83), edge(24,84), edge(24,85), edge(24,87), edge(24,88), edge(24,90), edge(24,91), edge(24,92), edge(24,93), edge(24,95), edge(24,96), edge(24,98), edge(24,99), edge(25,26), edge(25,27), edge(25,28), edge(25,30), edge(25,36), edge(25,38), edge(25,39), edge(25,40), edge(25,42), edge(25,44), edge(25,50), edge(25,52), edge(25,54), edge(25,56), edge(25,62), edge(25,69), edge(25,70), edge(25,72), edge(25,73), edge(25,80), edge(25,81), edge(25,82), edge(25,84), edge(25,85), edge(25,86), edge(25,90), edge(25,91), edge(25,92), edge(25,96), edge(25,97), edge(25,98), edge(25,99), edge(26,27), edge(26,30), edge(26,31), edge(26,33), edge(26,34), edge(26,36), edge(26,39), edge(26,40), edge(26,44), edge(26,46), edge(26,49), edge(26,50), edge(26,52), edge(26,54), edge(26,56), edge(26,59), edge(26,60), edge(26,62), edge(26,63), edge(26,65), edge(26,66), edge(26,67), edge(26,68), edge(26,69), edge(26,70), edge(26,71), edge(26,72), edge(26,73), edge(26,74), edge(26,78), edge(26,79), edge(26,80), edge(26,81), edge(26,84), edge(26,86), edge(26,89), edge(26,90), edge(26,91), edge(26,92), edge(26,94), edge(26,95), edge(26,96), edge(26,97), edge(26,98), edge(26,99), edge(27,28), edge(27,34), edge(27,36), edge(27,39), edge(27,40), edge(27,41), edge(27,43), edge(27,49), edge(27,50), edge(27,55), edge(27,56), edge(27,59), edge(27,62), edge(27,63), edge(27,64), edge(27,67), edge(27,68), edge(27,70), edge(27,72), edge(27,73), edge(27,79), edge(27,80), edge(27,81), edge(27,82), edge(27,84), edge(27,86), edge(27,87), edge(27,88), edge(27,90), edge(27,91), edge(27,92), edge(27,93), edge(27,96), edge(27,97), edge(27,98), edge(27,99), edge(28,29), edge(28,30), edge(28,32), edge(28,34), edge(28,35), edge(28,36), edge(28,37), edge(28,38), edge(28,39), edge(28,40), edge(28,41), edge(28,43), edge(28,45), edge(28,46), edge(28,48), edge(28,49), edge(28,50), edge(28,51), edge(28,54), edge(28,55), edge(28,56), edge(28,58), edge(28,59), edge(28,61), edge(28,63), edge(28,64), edge(28,67), edge(28,68), edge(28,69), edge(28,70), edge(28,71), edge(28,74), edge(28,76), edge(28,78), edge(28,79), edge(28,82), edge(28,83), edge(28,87), edge(28,88), edge(28,91), edge(28,93), edge(28,95), edge(28,96), edge(28,99), edge(29,30), edge(29,31), edge(29,32), edge(29,35), edge(29,36), edge(29,37), edge(29,40), edge(29,41), edge(29,42), edge(29,43), edge(29,44), edge(29,45), edge(29,46), edge(29,49), edge(29,51), edge(29,56), edge(29,57), edge(29,58), edge(29,62), edge(29,63), edge(29,65), edge(29,67), edge(29,68), edge(29,70), edge(29,71), edge(29,73), edge(29,74), edge(29,75), edge(29,76), edge(29,80), edge(29,81), edge(29,82), edge(29,84), edge(29,86), edge(29,89), edge(29,93), edge(29,95), edge(29,96), edge(29,97), edge(30,31), edge(30,33), edge(30,35), edge(30,40), edge(30,42), edge(30,43), edge(30,46), edge(30,48), edge(30,50), edge(30,58), edge(30,59), edge(30,60), edge(30,61), edge(30,62), edge(30,63), edge(30,66), edge(30,67), edge(30,68), edge(30,71), edge(30,72), edge(30,73), edge(30,78), edge(30,79), edge(30,81), edge(30,82), edge(30,84), edge(30,85), edge(30,90), edge(30,92), edge(30,93), edge(30,94), edge(30,95), edge(30,96), edge(30,98), edge(30,99), edge(31,32), edge(31,33), edge(31,40), edge(31,41), edge(31,44), edge(31,47), edge(31,50), edge(31,51), edge(31,52), edge(31,59), edge(31,60), edge(31,63), edge(31,65), edge(31,66), edge(31,68), edge(31,71), edge(31,73), edge(31,75), edge(31,79), edge(31,80), edge(31,81), edge(31,86), edge(31,89), edge(31,90), edge(31,94), edge(31,95), edge(31,96), edge(31,97), edge(31,99), edge(32,34), edge(32,35), edge(32,36), edge(32,37), edge(32,40), edge(32,42), edge(32,43), edge(32,45), edge(32,46), edge(32,49), edge(32,50), edge(32,51), edge(32,54), edge(32,59), edge(32,60), edge(32,61), edge(32,64), edge(32,68), edge(32,70), edge(32,71), edge(32,76), edge(32,78), edge(32,84), edge(32,87), edge(32,88), edge(32,94), edge(32,96), edge(32,99), edge(33,50), edge(33,57), edge(33,59), edge(33,60), edge(33,61), edge(33,63), edge(33,66), edge(33,68), edge(33,71), edge(33,73), edge(33,79), edge(33,81), edge(33,82), edge(33,87), edge(33,90), edge(33,94), edge(33,95), edge(33,96), edge(33,99), edge(34,39), edge(34,41), edge(34,43), edge(34,50), edge(34,52), edge(34,56), edge(34,64), edge(34,67), edge(34,68), edge(34,70), edge(34,78), edge(34,79), edge(34,86), edge(34,87), edge(34,88), edge(34,90), edge(34,91), edge(34,92), edge(34,93), edge(34,94), edge(34,95), edge(34,97), edge(35,37), edge(35,43), edge(35,51), edge(35,58), edge(35,62), edge(35,63), edge(35,67), edge(35,68), edge(35,74), edge(35,76), edge(35,77), edge(35,82), edge(35,93), edge(35,95), edge(36,37), edge(36,40), edge(36,42), edge(36,44), edge(36,45), edge(36,48), edge(36,49), edge(36,50), edge(36,51), edge(36,52), edge(36,56), edge(36,58), edge(36,59), edge(36,60), edge(36,62), edge(36,63), edge(36,65), edge(36,67), edge(36,68), edge(36,70), edge(36,72), edge(36,73), edge(36,79), edge(36,80), edge(36,81), edge(36,82), edge(36,84), edge(36,85), edge(36,86), edge(36,87), edge(36,90), edge(36,91), edge(36,92), edge(36,96), edge(36,98), edge(37,43), edge(37,51), edge(37,52), edge(37,58), edge(37,59), edge(37,62), edge(37,63), edge(37,70), edge(37,72), edge(37,74), edge(37,76), edge(37,82), edge(37,89), edge(37,93), edge(37,95), edge(38,40), edge(38,43), edge(38,59), edge(38,69), edge(38,70), edge(38,83), edge(38,88), edge(38,96), edge(39,40), edge(39,43), edge(39,44), edge(39,49), edge(39,50), edge(39,52), edge(39,54), edge(39,55), edge(39,67), edge(39,68), edge(39,69), edge(39,70), edge(39,72), edge(39,78), edge(39,82), edge(39,86), edge(39,90), edge(39,92), edge(39,94), edge(39,95), edge(39,96), edge(39,97), edge(39,99), edge(40,41), edge(40,42), edge(40,43), edge(40,44), edge(40,45), edge(40,46), edge(40,48), edge(40,49), edge(40,50), edge(40,51), edge(40,54), edge(40,55), edge(40,59), edge(40,61), edge(40,62), edge(40,63), edge(40,65), edge(40,67), edge(40,68), edge(40,69), edge(40,70), edge(40,71), edge(40,72), edge(40,75), edge(40,76), edge(40,78), edge(40,80), edge(40,81), edge(40,83), edge(40,84), edge(40,85), edge(40,86), edge(40,88), edge(40,89), edge(40,90), edge(40,92), edge(40,96), edge(40,97), edge(40,98), edge(40,99), edge(41,43), edge(41,44), edge(41,50), edge(41,56), edge(41,64), edge(41,65), edge(41,71), edge(41,72), edge(41,75), edge(41,79), edge(41,80), edge(41,81), edge(41,83), edge(41,86), edge(41,87), edge(41,88), edge(41,89), edge(41,91), edge(41,93), edge(41,97), edge(42,45), edge(42,48), edge(42,50), edge(42,55), edge(42,56), edge(42,59), edge(42,60), edge(42,67), edge(42,69), edge(42,72), edge(42,73), edge(42,76), edge(42,79), edge(42,81), edge(42,84), edge(42,85), edge(42,87), edge(42,90), edge(42,92), edge(42,93), edge(42,94), edge(42,98), edge(42,99), edge(43,46), edge(43,48), edge(43,50), edge(43,51), edge(43,53), edge(43,54), edge(43,56), edge(43,58), edge(43,60), edge(43,61), edge(43,63), edge(43,64), edge(43,68), edge(43,69), edge(43,70), edge(43,73), edge(43,74), edge(43,76), edge(43,78), edge(43,79), edge(43,83), edge(43,84), edge(43,87), edge(43,88), edge(43,91), edge(43,93), edge(43,95), edge(43,96), edge(43,98), edge(43,99), edge(44,49), edge(44,54), edge(44,59), edge(44,65), edge(44,69), edge(44,71), edge(44,72), edge(44,75), edge(44,80), edge(44,81), edge(44,82), edge(44,86), edge(44,89), edge(44,90), edge(44,97), edge(44,99), edge(45,46), edge(45,48), edge(45,49), edge(45,51), edge(45,56), edge(45,59), edge(45,67), edge(45,68), edge(45,70), edge(45,71), edge(45,72), edge(45,79), edge(45,87), edge(45,96), edge(46,48), edge(46,49), edge(46,51), edge(46,57), edge(46,61), edge(46,68), edge(46,70), edge(46,71), edge(46,78), edge(46,88), edge(46,95), edge(46,96), edge(46,99), edge(47,50), edge(47,67), edge(47,71), edge(47,81), edge(47,90), edge(47,91), edge(48,56), edge(48,59), edge(48,61), edge(48,68), edge(48,72), edge(48,78), edge(48,79), edge(48,87), edge(48,90), edge(48,99), edge(49,51), edge(49,59), edge(49,60), edge(49,62), edge(49,63), edge(49,67), edge(49,68), edge(49,70), edge(49,71), edge(49,72), edge(49,86), edge(49,90), edge(49,92), edge(49,96), edge(49,97), edge(50,51), edge(50,54), edge(50,55), edge(50,56), edge(50,57), edge(50,59), edge(50,60), edge(50,62), edge(50,63), edge(50,64), edge(50,66), edge(50,67), edge(50,68), edge(50,69), edge(50,71), edge(50,72), edge(50,73), edge(50,75), edge(50,76), edge(50,78), edge(50,79), edge(50,81), edge(50,84), edge(50,85), edge(50,87), edge(50,88), edge(50,90), edge(50,91), edge(50,92), edge(50,93), edge(50,94), edge(50,95), edge(50,96), edge(50,98), edge(50,99), edge(51,54), edge(51,59), edge(51,60), edge(51,64), edge(51,68), edge(51,70), edge(51,71), edge(51,76), edge(51,78), edge(51,84), edge(51,87), edge(51,88), edge(51,96), edge(51,97), edge(51,99), edge(52,58), edge(52,62), edge(52,66), edge(52,67), edge(52,68), edge(52,70), edge(52,78), edge(52,82), edge(52,86), edge(52,92), edge(52,94), edge(52,95), edge(52,97), edge(53,56), edge(53,65), edge(53,67), edge(53,81), edge(53,83), edge(53,86), edge(53,91), edge(53,97), edge(54,57), edge(54,60), edge(54,64), edge(54,67), edge(54,69), edge(54,72), edge(54,76), edge(54,78), edge(54,82), edge(54,84), edge(54,86), edge(54,87), edge(54,88), edge(54,90), edge(54,99), edge(55,60), edge(55,67), edge(55,69), edge(55,70), edge(55,73), edge(55,74), edge(55,75), edge(55,76), edge(55,79), edge(55,84), edge(55,88), edge(55,90), edge(55,93), edge(55,94), edge(55,97), edge(55,99), edge(56,59), edge(56,62), edge(56,64), edge(56,65), edge(56,67), edge(56,70), edge(56,72), edge(56,73), edge(56,79), edge(56,80), edge(56,81), edge(56,83), edge(56,84), edge(56,86), edge(56,87), edge(56,88), edge(56,91), edge(56,93), edge(56,96), edge(56,97), edge(56,98), edge(57,59), edge(57,65), edge(57,74), edge(57,78), edge(57,88), edge(57,91), edge(57,93), edge(57,94), edge(57,95), edge(57,99), edge(58,62), edge(58,63), edge(58,67), edge(58,69), edge(58,70), edge(58,73), edge(58,74), edge(58,76), edge(58,82), edge(58,93), edge(58,95), edge(59,60), edge(59,62), edge(59,63), edge(59,66), edge(59,67), edge(59,68), edge(59,71), edge(59,72), edge(59,73), edge(59,78), edge(59,79), edge(59,81), edge(59,85), edge(59,86), edge(59,87), edge(59,90), edge(59,92), edge(59,94), edge(59,95), edge(59,96), edge(59,99), edge(60,63), edge(60,64), edge(60,66), edge(60,68), edge(60,69), edge(60,71), edge(60,73), edge(60,76), edge(60,78), edge(60,79), edge(60,81), edge(60,82), edge(60,84), edge(60,87), edge(60,88), edge(60,90), edge(60,93), edge(60,94), edge(60,95), edge(60,96), edge(60,99), edge(61,62), edge(61,68), edge(61,78), edge(61,81), edge(61,99), edge(62,63), edge(62,67), edge(62,68), edge(62,70), edge(62,72), edge(62,73), edge(62,77), edge(62,80), edge(62,81), edge(62,82), edge(62,84), edge(62,86), edge(62,90), edge(62,91), edge(62,92), edge(62,96), edge(62,98), edge(62,99), edge(63,66), edge(63,67), edge(63,68), edge(63,71), edge(63,72), edge(63,73), edge(63,74), edge(63,76), edge(63,79), edge(63,81), edge(63,86), edge(63,90), edge(63,91), edge(63,92), edge(63,93), edge(63,94), edge(63,95), edge(63,96), edge(63,99), edge(64,76), edge(64,78), edge(64,79), edge(64,84), edge(64,85), edge(64,87), edge(64,88), edge(64,90), edge(64,91), edge(64,93), edge(64,97), edge(64,99), edge(65,67), edge(65,71), edge(65,75), edge(65,80), edge(65,81), edge(65,83), edge(65,86), edge(65,89), edge(65,97), edge(66,68), edge(66,70), edge(66,71), edge(66,73), edge(66,79), edge(66,81), edge(66,90), edge(66,94), edge(66,95), edge(66,96), edge(66,99), edge(67,68), edge(67,70), edge(67,72), edge(67,73), edge(67,77), edge(67,78), edge(67,82), edge(67,83), edge(67,84), edge(67,86), edge(67,89), edge(67,90), edge(67,92), edge(67,93), edge(67,94), edge(67,95), edge(67,97), edge(67,99), edge(68,70), edge(68,71), edge(68,72), edge(68,73), edge(68,78), edge(68,79), edge(68,81), edge(68,86), edge(68,90), edge(68,92), edge(68,93), edge(68,94), edge(68,95), edge(68,96), edge(68,97), edge(68,99), edge(69,70), edge(69,72), edge(69,73), edge(69,76), edge(69,79), edge(69,82), edge(69,83), edge(69,84), edge(69,86), edge(69,88), edge(69,89), edge(69,90), edge(69,93), edge(69,94), edge(69,96), edge(69,99), edge(70,71), edge(70,73), edge(70,78), edge(70,80), edge(70,81), edge(70,83), edge(70,84), edge(70,86), edge(70,88), edge(70,91), edge(70,92), edge(70,94), edge(70,95), edge(70,96), edge(70,97), edge(70,98), edge(71,73), edge(71,75), edge(71,79), edge(71,80), edge(71,81), edge(71,86), edge(71,89), edge(71,90), edge(71,94), edge(71,95), edge(71,96), edge(71,97), edge(71,99), edge(72,74), edge(72,79), edge(72,81), edge(72,82), edge(72,84), edge(72,85), edge(72,86), edge(72,87), edge(72,89), edge(72,90), edge(72,92), edge(72,98), edge(72,99), edge(73,76), edge(73,79), edge(73,80), edge(73,81), edge(73,83), edge(73,84), edge(73,90), edge(73,91), edge(73,93), edge(73,94), edge(73,95), edge(73,96), edge(73,98), edge(73,99), edge(74,76), edge(74,88), edge(74,93), edge(74,95), edge(75,80), edge(75,81), edge(75,86), edge(75,88), edge(75,89), edge(75,96), edge(75,97), edge(76,78), edge(76,79), edge(76,84), edge(76,87), edge(76,88), edge(76,90), edge(76,93), edge(76,94), edge(76,95), edge(76,98), edge(76,99), edge(77,79), edge(77,86), edge(77,87), edge(77,90), edge(77,93), edge(77,96), edge(78,84), edge(78,86), edge(78,87), edge(78,88), edge(78,92), edge(78,93), edge(78,94), edge(78,95), edge(78,97), edge(78,99), edge(79,81), edge(79,84), edge(79,87), edge(79,88), edge(79,90), edge(79,91), edge(79,93), edge(79,94), edge(79,95), edge(79,96), edge(79,99), edge(80,81), edge(80,84), edge(80,86), edge(80,87), edge(80,89), edge(80,91), edge(80,96), edge(80,97), edge(80,98), edge(81,84), edge(81,85), edge(81,86), edge(81,87), edge(81,89), edge(81,90), edge(81,91), edge(81,92), edge(81,93), edge(81,94), edge(81,95), edge(81,96), edge(81,97), edge(81,98), edge(81,99), edge(82,86), edge(82,90), edge(82,99), edge(83,86), edge(83,88), edge(83,96), edge(83,97), edge(84,85), edge(84,87), edge(84,88), edge(84,90), edge(84,91), edge(84,92), edge(84,93), edge(84,94), edge(84,96), edge(84,98), edge(84,99), edge(85,86), edge(85,89), edge(85,90), edge(85,92), edge(85,98), edge(85,99), edge(86,89), edge(86,90), edge(86,92), edge(86,93), edge(86,94), edge(86,95), edge(86,97), edge(86,99), edge(87,88), edge(87,91), edge(87,93), edge(87,99), edge(88,91), edge(88,92), edge(88,93), edge(88,96), edge(88,98), edge(88,99), edge(89,97), edge(90,92), edge(90,94), edge(90,95), edge(90,96), edge(90,98), edge(90,99), edge(91,93), edge(91,96), edge(91,98), edge(92,94), edge(92,95), edge(92,97), edge(92,98), edge(92,99), edge(93,94), edge(93,95), edge(94,95), edge(94,96), edge(94,97), edge(94,99), edge(95,96), edge(95,97), edge(95,99), edge(96,98), edge(96,99), edge(97,99), edge(98,99)]).