Help me in solving STRFIRSTCHAR problem

My issue

can some one tell me which condition i missed

My code

#include <stdio.h>

int main() {
	// your code goes here
	long int t,m,n,i,count,j;
	scanf("%ld",&t);
	while(t--)
	{
	    count=0;
	    scanf("%ld%ld",&n,&m);
	    char s1[n],s2[m];
	    scanf("%s%s",s1,s2);
	    if(strcmp(s1,s2)==0){
	        printf("0\n");
	    }
	    else if(s1[0]!=s2[0])
	    {
	        printf("-1\n");
	    }
	    else if(n==m){
	        printf("2\n");
	    }
	    else{
	        for(i=0,j=0;i<n&&j<m;i++,j++){
	            if(s1[i]!=s2[j])
	            {
	                if(n>m)
	                {
	                    while(s1[i]!=s2[j]&&i<n&&j<m)
	                    i++;
	                }
	                else{
	                    while(s1[i]!=s2[j]&&i<n&&j<m)
	                    j++;
	                }
	                count++;
	            }
	        }
	        if(i!=n-1||j!=m-1)
	        count++;
	        if(count>=2)
	        printf("2\n");
	        else
	        printf("1\n");
	          

	    }
	}

}


Problem Link: Replace With First Practice Coding Problem