I wonder if you can help.

We recently had a small reunion of friends at a local restaurant. We were 12 people in total and the restaurant gave us a rectangular table, seating 6 people each side.

Realising that it would not be possible to get everybody to chat to each other person if we stayed in our allocated seats, we decided to change seats on each course, by numbering each person and electing each even numbered person to move clockwise and change seats to the next vacant one.

At first this seemed to work, but then we realised that the odd numbered people never got to "meet" each other and if they were on the end of the table they met fewer people.

If you are considered to have "met" a person by being seated adjacent to them, opposite them or diagonally opposite them, what would be the best set of moves to choose in order to get everyone to meet everyone else?

Would this work for any sized table?

Hope you can help. Our next reunion is in 9 months time.