For this Question: Given a number N , you need to calculate number of distinct values of gcd(i, N)  where i is between 1<=i<=1e18.
Note:-You need to check for all the possible values of i.Input contains a single integer N.

Constraints:-
1<=N<=10^10
Print the number of distinct numbers of gcd(i, N)  where i is between 1<=i<=1e18.Input:
16

Output:
5

Explanation:-
all disticnt numbers are - 1,2,4,8,16

Input:
3248

Output:
20 , I have written this Solution Code: import java.io.*;
import java.util.*;



class Main {
	public static void main (String[] args) throws IOException {

		InputStreamReader ir = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(ir);
		long N = Long.parseLong(br.readLine());
		long count = 0;
		for(long i = 1; i*i <= N; i++){
			if(N % i == 0){
				if(i*i < N){
					count += 2;
				}else if(i*i == N){
					count++;
				}
			}
		}
		System.out.println(count);
	}
}, In this Programming Language: Java, Now tell me if this Code is compilable or not?