Это же не сумма, а произведение, поэтому:
int a = 1; // вместо 0
P.S. Весь код не читал, т.к. неправильные отступы делают код трудночитаемым. Смесь пробелов и табов говорит о том, что код был частично скопирован откуда-то и дополнен/переделан под текущую задачу.