add factorial.c