add factorial exercise solution