մի հարց ունեմ C#-ից, անհրաժեշտ է ռեկուրսիայով ֆակտորիալ հաշվել, ի՞նչն ա ստեղ սխալ


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Mutqagreq tiv:");
int k=int.Parse(Console.ReadLine());
Console.WriteLine("Dzer mutqagrac tvi factorialn e:" , fact(k));
}
int fact (int n){

if ((n==0)^(n==1))
return 0;
else
return n*fact(n-1);
}
}
}