2 answers coming wrong in Sum of 2 Arrays

    #include <iostream>
    using namespace std;

    int main()
    {
int N=0, M=0;
int arr1[1000]={}, arr2[1000]={}, sum_digit[1001]={};

    cin>>N;
for(int i=0; i<N; i++)
{
	cin>>arr1[i];
}

cin>>M;
    for(int j=0; j<M; j++)
{
	cin>>arr2[j];
}

if(N>=M)
{
	int i=N-1, j=M-1, itr=0, carry=0;
	while((i>=0)&&(j>=0))
	{
		carry=(arr1[i]+arr2[j])/10;
		sum_digit[itr]+=(arr1[i]+arr2[j])%10;
		sum_digit[itr+1]=carry;
		--i;
		--j;
		itr++;
	}

	while(i>=0)
	{
		sum_digit[itr]+=arr1[i];
		--i;
		++itr;
	}

	for(int ind=itr-1; ind>=0; ind--)
	{
		cout<<sum_digit[ind]<<", ";
	}
	cout<<"END";
}

else
{
	int i=M-1, j=N-1, itr=0, carry=0;
	while((i>=0)&&(j>=0))
	{
		carry=(arr2[i]+arr1[j])/10;
		sum_digit[itr]+=(arr2[i]+arr1[j])%10;
		sum_digit[itr+1]=carry;
		--i;
		--j;
		itr++;
	}

	while(i>=0)
	{
		sum_digit[itr]+=arr2[i];
		--i;
		++itr;
	}

	for(int ind=itr-1; ind>=0; ind--)
	{
		cout<<sum_digit[ind]<<", ";
	}
	cout<<"END";
}

   }