//#include <stdio.h>
//#include <stdlib.h>
//
//int main()
//{
// printf("Hello world!\n");
// return 0;
//}
//(k^n- l^n)/(k-l) + (l^n - m^n)/(l-m) + (m^n-k^n)/(m-k)
//#include<stdio.h>
//int n,i;
//int data[505] = {};
//int main()
//{
// scanf("%d",&n);
// for(i=1;i<=n;i++)
// {
// scanf("%d",&data[i]);
// }
// data[0] = 0;
//}
//import java.util.ArrayList;
//import java.util.Scanner;
//
//public class Main
//{
// public static void main(String[] args)
// {
// Scanner sc = new Scanner(System.in);
//
// int n = sc.nextInt();
//
// int count = 0;
// double average = 0;
// double total = 0;
//
// sc.nextLine();
//
// ArrayList<String> list = new ArrayList<String>();
// ArrayList<String> List = new ArrayList<String>();
//
// for ( int i = 0; i < n; i++ )
// {
// String temp = sc.nextLine();
// list.add(temp);
// }
//
// for ( int i = 0; i < n; i++ )
// {
// String temp = list.get(i).split(" ")[1];
// if (temp.equals("A+"))
// total = total + 4.3 * Double.parseDouble(list.get(i).split(" ")[2]);
// else if (temp.equals("A0"))
// total = total + 4.0 * Double.parseDouble(list.get(i).split(" ")[2]);
// else if ( temp.equals("A-"))
// total = total + 3.7 * Double.parseDouble(list.get(i).split(" ")[2]);
// else if (temp.equals("B+"))
// total = total + 3.3 * Double.parseDouble(list.get(i).split(" ")[2]);
// else if (temp.equals("B0"))
// total = total + 3.0 * Double.parseDouble(list.get(i).split(" ")[2]);
// else if (temp.equals("B-"))
// total = total + 2.7 * Double.parseDouble(list.get(i).split(" ")[2]);
// else if (temp.equals("C+"))
// {
// total = total + 2.3 * Double.parseDouble(list.get(i).split(" ")[2]);
// List.add(" " + list.get(i).split(" ")[0] + " (C+)");
// count++;
// }
//
// else if (temp.equals("C0"))
// {
// total = total + 2.0 * Double.parseDouble(list.get(i).split(" ")[2]);
// List.add(" " + list.get(i).split(" ")[0] + " (C0)");
// count++;
// }
// else if (temp.equals("C-"))
// {
// total = total + 1.7 * Double.parseDouble(list.get(i).split(" ")[2]);
// List.add(" " + list.get(i).split(" ")[0] + " (C-)");
// count++;
// }
// else if (temp.equals("D+"))
// {
// total = total + 1.3 * Double.parseDouble(list.get(i).split(" ")[2]);
// List.add(" " + list.get(i).split(" ")[0] + " (D+)");
// count++;
// }
// else if (temp.equals("D0"))
// {
// total = total + 1.0 * Double.parseDouble(list.get(i).split(" ")[2]);
// List.add(" " + list.get(i).split(" ")[0] + " (D0)");
// count++;
// }
// else if (temp.equals("D-"))
// {
// total = total + 0.7 * Double.parseDouble(list.get(i).split(" ")[2]);
// List.add(" " + list.get(i).split(" ")[0] + " (D-)");
// count++;
// }
// else if (temp.equals("F"))
// {
// total = total + 0;
// List.add(" " + list.get(i).split(" ")[0] + " (F)");
// count++;
// }
// else if (temp.equals("Pass"))
// total = total + 4.3 * Double.parseDouble(list.get(i).split(" ")[2]);
// else if (temp.equals("Fail"))
// {
// total = total + 0;
// List.add(" " + list.get(i).split(" ")[0] + " (Fail)");
// count++;
// }
//
// average = average + Double.parseDouble(list.get(i).split(" ")[2]);
// }
// average = Math.round(total / average * 100.0) / 100.0;
//
// if (average == 4.30)
// System.out.printf("Average : %.02f (A+)\n", average);
// else if (average >= 4.00 && average < 4.30)
// System.out.printf("Average : %.02f (A0)\n", average);
// else if (average >= 3.70 && average < 4.00)
// System.out.printf("Average : %.02f (A-)\n", average);
// else if (average >= 3.30 && average < 3.70)
// System.out.printf("Average : %.02f (B+)\n", average);
// else if (average >= 3.00 && average < 3.30)
// System.out.printf("Average : %.02f (B0)\n", average);
// else if (average >= 2.70 && average < 3.00)
// System.out.printf("Average : %.02f (B-)\n", average);
// else if (average >= 2.30 && average < 2.70)
// System.out.printf("Average : %.02f (C+)\n", average);
// else if (average >= 2.00 && average < 2.30)
// System.out.printf("Average : %.02f (C0)\n", average);
// else if (average >= 1.70 && average < 2.00)
// System.out.printf("Average : %.02f (C-)\n", average);
// else if (average >= 1.30 && average < 7.00)
// System.out.printf("Average : %.02f (D+)\n", average);
// else if (average >= 1.00 && average < 1.30)
// System.out.printf("Average : %.02f (D0)\n", average);
// else if (average >= 0.70 && average < 1.00)
// System.out.printf("Average : %.02f (D-)\n", average);
// else if (average >= 0.00 && average < 0.70)
// System.out.printf("Average : %.02f (F)\n", average);
// System.out.println();
// System.out.println("RETAKE NEEDED " + "(" + List.size() + ")");
// for (int i = 0; i < List.size(); i++ )
// {
// System.out.println(List.get(i));
// }
// }
//}
#include<stdio.h>
int main()
{
int n, m;
char data[55][55] = {};
int i,j;
scanf("%d %d",&n,&m);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%c",&data[i][j]);
}
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%c",data[i][j]);
}
}
}
# n = int(input())
# v = list(map(int, input().split()))
#
# s = 0
# sum = 0
# for i in v[::-1]:
# if s < i:
# s += 1
# else:
# s = i
# sum += s
#
# print(sum)
# n = int(input())
# data = list(map(int, input().split()))
#
#
# def f(data):
# t = sum(data)
# if t == 0:
# return n//2
# k = 0
# for k, a in enumerate(data):
# if a:
# break
# data = data[k+1:] + data[:k+1]
# c = [0] * n
# for i in range(n):
# if data[i] or c[i]:
# continue
# for j in range(i, n):
# if data[j]:
# break
# c[j] = 1
# t += (j-i+1)//2
# return t
#
#
# print(f(data))
# n = int(input())
# data = list(map(int, input().split()))
# p = set()
#
# for i in range(n - 1):
# for j in range(i + 1, n):
# a = (data[j] - data[i]) / (j - i)
# if a == int(a):
# b = data[j] - a * j
# p.add((a, b))
#
# list = []
# for (a, b) in p:
# change = 0
# for l in range(n):
# if data[l] != a * l + b:
# change += 1
# list.append(change)
#
# print(min(list))
#
# n = int(input())
# data = []
# r = [0] * 7
# day = ['월', '화', '수', '목', '금', '토', '일']
# flag = 0
# for i in range(n):
# v = list(input())
# for j in range(7):
# r[j] += int(v[j])
# for i in range(7):
# if r[i] == n:
# flag = 1
# print(f"{day[i]}요일에 가능")
# if flag == 0:
# print('다음에 만나요~')




