import util. go => tri(Tri), println("Mode directed tabling:"), pp(1,1,Tri,Sum), writeln(max_val=Sum), nl, println("Loop based:"), M = new_map([max_val=0]), pp2(1,1, Tri[1,1], Tri, M), writeln(max_val=M.get(max_val)), nl, println("Adapted the Prolog solution:"), max_path(2, V2), println(max_val=V2), nl. tri(Tri) => Tri = { {55}, {94,48}, {95,30,96}, {77,71,26,67}, {97,13,76,38,45}, {07,36,79,16,37,68}, {48,07,09,18,70,26,06}, {18,72,79,46,59,79,29,90}, {20,76,87,11,32,07,07,49,18}, {27,83,58,35,71,11,25,57,29,85}, {14,64,36,96,27,11,58,56,92,18,55}, {02,90,03,60,48,49,41,46,33,36,47,23}, {92,50,48,02,36,59,42,79,72,20,82,77,42}, {56,78,38,80,39,75,02,71,66,66,01,03,55,72}, {44,25,67,84,71,67,11,61,40,57,58,89,40,56,36}, {85,32,25,85,57,48,84,35,47,62,17,01,01,99,89,52}, {06,71,28,75,94,48,37,10,23,51,06,48,53,18,74,98,15}, {27,02,92,23,08,71,76,84,15,52,92,63,81,10,44,10,69,93} }.