the second version of number.c