Sequence of points
You are given the following points with integer coordinates on the plane: M0, A0, A1, ..., An - 1, where n is odd number. Now we define the following infinite sequence of points Mi: Mi is symmetric to Mi - 1 according  (for every natural number i). Here point B is symmetric to A according M, if M is the center of the line segment AB. Given index j find the point Mj.
On the first line you will be given an integer n (1 ≤ n ≤ 105), which will be odd, and j (1 ≤ j ≤ 1018), where j is the index of the desired point. The next line contains two space separated integers, the coordinates of M0. After that n lines follow, where the i-th line contain the space separated integer coordinates of the point Ai - 1. The absolute values of all input coordinates will not be greater then 1000.
On a single line output the coordinates of Mj, space separated.
(n, k) = map(int, input().split())
ax = []
ay = []
(mx, my) = map(int, input().split())
for i in range(n):
    (x, y) = map(int, input().split())
    ax.append(x)
    ay.append(y)
k %= 2 * n
for i in range(k):
    mx = 2 * ax[i % n] - mx
    my = 2 * ay[i % n] - my
print(mx, ' ', my)
def main():
    (n, j) = map(int, input().split())
    A = [tuple(map(int, input().split())) for _ in range(n + 1)]
    M = A.pop(0)
    for i in range(j % (2 * n)):
        Ai = A[i % n]
        (Mx, My) = (2 * Ai[0] - M[0], 2 * Ai[1] - M[1])
        M = (Mx, My)
    print(M[0], M[1])
if __name__ == '__main__':
    main()
def count(start, x):
    global n, j
    ans = start
    for i in range(j):
        ans = -(ans - x[i % n]) + x[i % n]
    return ans
(n, j) = map(int, input().split())
j = j % (2 * n)
(m_x, m_y) = map(int, input().split())
(x, y) = ([], [])
for i in range(n):
    (x1, y1) = map(int, input().split())
    x.append(x1)
    y.append(y1)
print(count(m_x, x), count(m_y, y))