For this Question: Given two positive integers N and M. Your task is to print first <b>M Special GCD numbers</b> which are greater than N.
<b>M Special GCD numbers</b> : First M numbers which are greater than N and whose GCD with N is equal to the smallest prime factor of N.User Task:
Since this is a functional problem, you don’t have to worry about the input, you just have to complete the function <b>printM_SpecialGCD()</b>, where you will get N and M as a parameter.

Constraints:
2 <= N <= 10^6
1 <= M <= 10^5Print the required answers separated by space.Sample Input:-
10 2

Sample Output:-
12 14

Explanation:-least prime divisor of 10 is 2. 
Numbers greater than 10 whose gcd with 10 is equal to 2 are :- 12 14 16 18 22 . . . .
First two numbers of this series are:- 12 and 14

Sample Input:-
9 3

Sample Output:-
12 15 21, I have written this Solution Code: 

     int gcd(int a,int b){

    int temp = 0;
		while (b != 0) {
			temp = b;
			b = a % b;
			a = temp;
		}
		return a;
    }

	   int primeFactors(int n)
    {
        int m=0;
        // Print the number of 2s that divide n
        if (n%2==0)
        {
           m= 2;
           return m;
        }
        for (int i = 3; i <= sqrt(n); i+= 2)
        {
            // While i divides n, print i and divide n
            if (n%i == 0)
            {
                m=i;
                return m;

            }

        }
        if(n>2) {
            m=n;
        }
        return m;
    }
void printM_SpecialGCD(int N, int M)
	{
	    int prime = primeFactors(N);
		    int count =0;

		   int i=prime;
		       while(count!=M){

		      int res = gcd(N,N+i);


		       if(res==prime){
		          cout<<N+i<<" ";
		           count++;


		       }

		       i+=prime;
		   }

		}
, In this Programming Language: C++, Now tell me if this Code is compilable or not?