/*
TASK: context
LANG: C++
*/

#include<iostream>
#include<string>

using namespace std;
int n,ss,a[1024*128],wh;
string word,s,s1,text;

int main()
{
 scanf("%d",&n); cin.get();
 getline(cin,s);
 ss=s.size();
 int i=0,i1=ss-1;
 while(s[i]==' ' && i<ss) i++;
 while(s[i1]==' ' && i1>=0) i1--;
 for(int k=i;k<=i1;k++)
  if(s[k]>='A' && s[k]<='Z') word+=char(s[k]+32);
   else word+=s[k];
 getline(cin,s1);
 i=0;
 while(s1[i]==' ') i++;
 for(int k=i;k<s1.size();k++) 
  if(s1[k]>='A' && s1[k]<='Z') {text+=char(s1[k]+32); a[k-i]=1;}
   else text+=s1[k];
 
 
 while(getline(cin,s1))
  {
   for(int k=0;k<s1.size();k++) 
    if(s1[k]>='A' && s1[k]<='Z') { text+=char(s1[k]+32); a[text.size()-1]=1;}
     else text+=s1[k];
  }
 i=text.size()-1;
 while(text[i]==' ') {text.erase(i,1); i--;}
 
 //cout<<word<<"\n"<<text<<"no\n";
 int f=text.find(word),end=0,st=0,ts=text.size(),ws=word.size();;
 while(f>=0 && f<ts)
  {
   end=0;
   if(n>f) {st = 0; end += n-f;}
    else st=f-n; 
   if(ts-(f+ws-1)<n) {end=ts-1; st = ts-2*n-ws;}
    else end += f+ws-1+n;
   if(st<0) st=0;
   if(end>=ts) end=ts-1;
   for(int j=st;j<=end;j++)
    if(a[j]==1) cout<<char(text[j]-32);
     else cout<<text[j];
   cout<<"\n"; 
   f=text.find(word,f+1);          
  }
 return 0;    
}
