A new transfer-matrix algorithm for exact enumerations: self-avoiding walks on the square lattice