# -*- coding: utf-8 -*-
"""
Created on Sat Mar  9 11:05:33 2019

@author: Ham

HackerRanch Challenge: Array Mathematics

Basic mathematical functions operate element-wise on arrays.
They are available both as operator overloads and as functions in the NumPy module.

import numpy

a = numpy.array([1,2,3,4], float)
b = numpy.array([5,6,7,8], float)

print a + b                     #[  6.   8.  10.  12.]
print numpy.add(a, b)           #[  6.   8.  10.  12.]

print a - b                     #[-4. -4. -4. -4.]
print numpy.subtract(a, b)      #[-4. -4. -4. -4.]

print a * b                     #[  5.  12.  21.  32.]
print numpy.multiply(a, b)      #[  5.  12.  21.  32.]

print a / b                     #[ 0.2         0.33333333  0.42857143  0.5       ]
print numpy.divide(a, b)        #[ 0.2         0.33333333  0.42857143  0.5       ]

print a % b                     #[ 1.  2.  3.  4.]
print numpy.mod(a, b)           #[ 1.  2.  3.  4.]

print a**b                      #[  1.00000000e+00   6.40000000e+01 2.187e+3 6.5536e+4]
print numpy.power(a, b)         #[  1.00000000e+00   6.40000000e+01 2.187e+3 6.5536e+4]

Task

You are given two integer arrays, A and B of dimensions NxM.
Your task is to perform the following operations:

Add (A + B)
Subtract (A - B)
Multiply (A * B)
Integer Division (A / B)
Mod (A % B)
Power (A ** B)

Input Format

The first line contains two space separated integers, N and M.
The next N lines contains M space separated integers of array A.
The following N lines contains M space separated integers of array B.

Output Format

Print the result of each operation in the given order under Task.

Sample Input

1 4
1 2 3 4
5 6 7 8

Sample Output

[[ 6  8 10 12]]
[[-4 -4 -4 -4]]
[[ 5 12 21 32]]
[[0 0 0 0]]
[[1 2 3 4]]
[[    1    64  2187 65536]]

Use // for division in Python 3.

"""

import io
import numpy

STDIN_SIO = io.StringIO("""
1 4
1 2 3 4
5 6 7 8
""".strip())

if __name__ == '__main__':
    #numpy.set_printoptions(legacy='1.13')
    # set_printoptions() above came from a Discussion forum
    #n, m = map(int, input().strip().split())
    #a = numpy.array([input().strip().split() for _ in range(n)], int)
    #b = numpy.array([input().strip().split() for _ in range(n)], int)
    n, m = map(int, STDIN_SIO.readline().strip().split())
    a = numpy.array([STDIN_SIO.readline().strip().split()
                     for _ in range(n)], int)
    b = numpy.array([STDIN_SIO.readline().strip().split()
                     for _ in range(n)], int)
    #print(a)
    #print(b)
    print(numpy.add(a, b))
    print(numpy.subtract(a, b))
    print(numpy.multiply(a, b))
    print(a // b)
    print(numpy.mod(a, b))
    print(numpy.power(a, b))
