#include <bits/stdc++.h>
using namespace std;
void hora() {
  time_t t;
  time(&t);
  struct tm* petm = localtime(&t);
  FILE* pfile;
  pfile = fopen("compilaciones.txt", "a");
  fprintf(pfile, " \n");
  fprintf(pfile, "compil�: %s\n", asctime(petm));
  fclose(pfile);
}
int n;
long long m, q, r;
int mx[200000];
int my[200000];
int ax[200000];
int ay[200000];
int main() {
  cin >> n >> m;
  scanf("%d%d", mx, my);
  for (int i = 0; i < n; i++) scanf("%d%d", ax + i, ay + i);
  for (int i = 0; i < n; i++) ax[n + i] = ax[i], ay[n + i] = ay[i];
  n *= 2;
  for (int i = 0; i < m % n; i++) {
    mx[i + 1] = 2 * ax[i] - mx[i];
    my[i + 1] = 2 * ay[i] - my[i];
  }
  cout << mx[m % n] << " " << my[m % n] << endl;
  return 0;
  long long x = mx[0], y = my[0];
  q = m / n;
  r = m % n;
  x += q * (mx[n] - mx[0]);
  y += q * (my[n] - my[0]);
  if (r % 2 == 0) {
    x = x + mx[r] - mx[0];
    y = y + my[r] - my[0];
  } else {
    x = -x + mx[r] + mx[0];
    y = -y + my[r] + my[0];
  }
  cout << x << " " << y << endl;
}

### Prompt

Please formulate a Cpp solution to the following problem:

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 <image> (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.

Input

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.

Output

On a single line output the coordinates of Mj, space separated.

Examples

Input

3 4
0 0
1 1
2 3
-5 3


Output

14 0


Input

3 1
5 5
1000 1000
-1000 1000
3 100


Output

1995 1995

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
void hora() {
  time_t t;
  time(&t);
  struct tm* petm = localtime(&t);
  FILE* pfile;
  pfile = fopen("compilaciones.txt", "a");
  fprintf(pfile, " \n");
  fprintf(pfile, "compil�: %s\n", asctime(petm));
  fclose(pfile);
}
int n;
long long m, q, r;
int mx[200000];
int my[200000];
int ax[200000];
int ay[200000];
int main() {
  cin >> n >> m;
  scanf("%d%d", mx, my);
  for (int i = 0; i < n; i++) scanf("%d%d", ax + i, ay + i);
  for (int i = 0; i < n; i++) ax[n + i] = ax[i], ay[n + i] = ay[i];
  n *= 2;
  for (int i = 0; i < m % n; i++) {
    mx[i + 1] = 2 * ax[i] - mx[i];
    my[i + 1] = 2 * ay[i] - my[i];
  }
  cout << mx[m % n] << " " << my[m % n] << endl;
  return 0;
  long long x = mx[0], y = my[0];
  q = m / n;
  r = m % n;
  x += q * (mx[n] - mx[0]);
  y += q * (my[n] - my[0]);
  if (r % 2 == 0) {
    x = x + mx[r] - mx[0];
    y = y + my[r] - my[0];
  } else {
    x = -x + mx[r] + mx[0];
    y = -y + my[r] + my[0];
  }
  cout << x << " " << y << endl;
}

```