The optimal storage capacity for mulit-state neural networks