why is this code failing all test cases
CODE
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m,n;
cin>>m>>n;
int arr[m][n];
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
cin>>arr[i][j];
}
}
int fc=0,lr=m-1,lc=n-1,fr=0;
while(fr<=lr && fc<=lc)
{
for(int i=fr;i<=lr;i++)
{
cout<<arr[i][fc]<<",";
}
fc++;
for(int i=fc;i<=lc;i++)
{
cout<<arr[lr][i]<<",";
}
lr--;
if(lc>fc)
{
for(int i=lr;i>=fr;i--)
{
cout<<arr[i][lc]<<",";
}
lc--;
}
if(fr<lr)
{
for(int i=lc;i>=fc;i--)
{
cout<<arr[fr][i]<<",";
}
fr++;
}
}
cout<<"END"<<endl;
return 0;
}