Given the following grid where it is only possible to move between squares that share an edge, how many paths are there that visit every single square exactly once?

From what I can think of, I know that the two squares sticking out on the left and right side are the start and end points but other than that I'm stuck.
Can I have a hint?