void main(){
  import std.stdio, std.string, std.conv, std.algorithm;
  import std.exception, std.range;
  
  int l; rd(l);
  auto s=readln.chomp.to!(char[]);
  auto t=readln.chomp.to!(char[]);

  if(s>t) swap(s, t);
  auto slen=s.length, tlen=t.length;
  auto len=0;
  while(len<l) len+=slen;
  if(len==l){writeln(s.replicate(len/slen)); return;}
  while(1){
    len-=slen;
    if((l-len)%tlen==0){
      auto res=s.replicate(len/slen);
      res~=t.replicate((l-len)/tlen);
      writeln(res); return;
    }
  }

  // enforce(false);
}

void rd(T...)(ref T x){
  import std.stdio, std.string, std.conv;
  auto l=readln.split;
  assert(l.length==x.length);
  foreach(i, ref e; x){
    e=l[i].to!(typeof(e));
  }
}
void wr(T...)(T x){
  import std.stdio;
  foreach(e; x) write(e, " ");
  writeln();
}