Discussion About Big GCD

This is Discussion thread about Big GCD

#include
using namespace std;
int main() {
int N,M;
cin>>N>>M;
int max=1;
for(int i=2;i<=min(N,M);i++)
{
if((N%i==0)&&(M%i==0))
{
if(max<i)
{
max=i;
}
}
}
cout<<max;

return 0;

}

My test case 0,1,2 are getting wrong . i dont know why ?