If you insist on prime moduli you will need infinitely many classes. If you don't insist on prime moduli then you can get away with finitely many, these are called [covering systems][1] and the linked article looks good. [1]: http://en.wikipedia.org/wiki/Covering_system