杭电1022 wrong answer

 #include<iostream>
#include<string.h>
using namespace std;
char s[10000];
char stack[10000];
int main(){
    int num,len,next;
    int top=0,b=1;

    while(cin>>num&&num!=0){
        int mid;
        gets(s);
        len=strlen(s);
        mid=len/2-1;
        for(int i=1;i<=num;i++)
        stack[top++]=s[i];
        next=mid+2;
        for(int j=next;j<len;j++)
       if(s[j]!=stack[--top]){
        b=0;
        break;
       }
       if(b==1){
        cout<<"Yes."<<endl;
        for(int i=0;i<num;i++)
        cout<<"in"<<endl;
        for(int i=0;i<num;i++)
        cout<<"out"<<endl;
       }
       else if(b==0){
        cout<<"No."<<endl;
       }
       cout<<"FINISH"<<endl; 
    }
}

代码附上,是我的理解错了吗?