Add factorial program