I tried to make a combination program but I got wrong result in big numbers, why?
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        
        
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("Enter element number: ");
        int n = scanner.nextInt();
        System.out.print("selection number: ");
        int r = scanner.nextInt();
        
        int minus = n - r;
        long nFactorial = 1;
        long rFactorial = 1;
        long minusFactorial = 1;
        
        for(int i = 1; i <= n; i++) {
            nFactorial = nFactorial * i;
        }       
        for(int i = 1; i <= r; i++) {
            rFactorial = rFactorial * i;
        }
        for(int i = 1; i <= minus; i++) {
            minusFactorial = minusFactorial * i;
        }
        long comb = nFactorial / (rFactorial * minusFactorial);
        System.out.println("C(" + n + "," + r + ") combination: " + comb);
    }
}
n number: 50
r number: 5
The wrong result: 0
Could you help me?
 
    