#include <bits/stdc++.h>
using namespace std;
long long mod = 1e9 + 7;
long long myXOR(long long x, long long y) {
  long long res = 0;
  for (long long i = 31; i >= 0; i--) {
    bool b1 = x & (1 << i);
    bool b2 = y & (1 << i);
    bool xoredBit = (b1 & b2) ? 0 : (b1 | b2);
    res <<= 1;
    res |= xoredBit;
  }
  return res;
}
long long add(long long a, long long b) {
  return ((a % mod) + (b % mod)) % mod;
}
long long mul(long long a, long long b) {
  return ((a % mod) * (b % mod)) % mod;
}
long long powm(long long x, long long n, long long M) {
  long long result = 1;
  while (n > 0) {
    if (n % 2 == 1) result = (result * x) % M;
    x = (x * x) % M;
    n = n / 2;
  }
  return result;
}
long long modinverse(long long a, long long m) { return powm(a, m - 2, m); }
int gcd(int a, int b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
int max(int a, int b) {
  if (a > b)
    return a;
  else
    return b;
}
int min(int a, int b) {
  if (a < b)
    return a;
  else
    return b;
}
bool sortsec(const pair<long long, long long>& a,
             const pair<long long, long long>& b) {
  return (a.second < b.second);
}
bool resort(const pair<long long, long long>& a,
            const pair<long long, long long>& b) {
  return (a.first > b.first);
}
bool sortresec(const pair<long long, long long>& a,
               const pair<long long, long long>& b) {
  return (a.second > b.second);
}
long long min(long long x, long long y) {
  if (x < y)
    return x;
  else
    return y;
}
long long max(long long x, long long y) {
  if (x > y)
    return x;
  else
    return y;
}
long long gcd(long long x, long long y) {
  if (x == 0)
    return y;
  else
    return gcd(y % x, x);
}
bool prime(long long x) {
  if (x <= 1) return false;
  for (int i = 2; i <= sqrt(x); i++)
    if (x % i == 0) return false;
  return true;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long n, i = 0, j = 0, x = 0, y = 0, x1 = 0, y1 = 0, a = 0, b = 0;
  cin >> n;
  map<pair<long long, long long>, long long> m1, m, m2;
  vector<pair<long long, long long>> v;
  for (i = 0; i < n; i++) {
    cin >> x >> y;
    m1[make_pair(x, y)]++;
  }
  for (i = 0; i < n; i++) {
    cin >> x >> y;
    m2[make_pair(x, y)]++;
  }
  long long max = 0;
  for (auto it : m1) {
    x = it.first.first;
    y = it.first.second;
    for (auto it1 : m2) {
      x1 = it1.first.first;
      y1 = it1.first.second;
      m[make_pair(x + x1, y + y1)]++;
      if (m[make_pair(x + x1, y + y1)] > max) {
        a = x + x1;
        b = y + y1;
        max = m[make_pair(x + x1, y + y1)];
      }
    }
  }
  cout << a << " " << b << endl;
  return 0;
}
