read_tables := function(filename, dimension); F := Open(filename, "r"); c := (dimension*(dimension + 1)) div 2; r := []; while true do s := Gets(F); if IsEof(s) then break; end if; if (#s eq 0) or (s[1] eq "/") then continue; end if; t := [StringToInteger(a): a in Split(s, " ")]; if #t ne c then continue; end if; A := SymmetricMatrix(ZZ, t); Append(~r, A div Content(A)); end while; return r; end function;