#include <bits/stdc++.h>
using namespace std;
using ll = long long;
constexpr ll INF = (ll)1e18;
constexpr ll MOD = (ll)1e9 + 7;
constexpr double EPS = 1e-9;
constexpr ll dx[4] = {1LL, 0LL, -1LL, 0LL};
constexpr ll dy[4] = {0LL, 1LL, 0LL, -1LL};
constexpr ll dx8[8] = {1LL, 0LL, -1LL, 0LL, 1LL, 1LL, -1LL, -1LL};
constexpr ll dy8[8] = {0LL, 1LL, 0LL, -1LL, 1LL, -1LL, 1LL, -1LL};
void p() { std::cout << '\n'; }
template <typename Head, typename... Tail>
void p(Head head, Tail... tail) {
  std::cout << head << (sizeof...(tail) ? " " : "");
  p(tail...);
}
template <typename T>
inline void pv(std::vector<T>& v) {
  for (ll i = 0, N = v.size(); i < N; i++)
    std::cout << v[i] << " \n"[i == N - 1];
}
template <typename T>
inline bool chmax(T& a, T b) {
  return a < b && (a = b, true);
}
template <typename T>
inline bool chmin(T& a, T b) {
  return a > b && (a = b, true);
}
template <typename T>
inline void uniq(std::vector<T>& v) {
  v.erase(std::unique(v.begin(), v.end()), v.end());
}
void solve() {
  ll Q;
  cin >> Q;
  vector<bool> ans(Q, true);
  for (ll q = 0, q_length = (Q); q < q_length; ++q) {
    ll N;
    cin >> N;
    vector<ll> a(N), b(N);
    for (ll i = 0, i_length = (N); i < i_length; ++i) cin >> a[i] >> b[i];
    for (ll i = 0, i_length = (N); i < i_length; ++i)
      if (a[i] < b[i]) {
        ans[q] = false;
        continue;
      }
    for (ll i = 0, i_length = (N - 1); i < i_length; ++i)
      if (a[i + 1] < a[i] || b[i + 1] < b[i]) {
        ans[q] = false;
        continue;
      }
    for (ll i = 0, i_length = (N - 1); i < i_length; ++i)
      if (a[i + 1] == a[i] && b[i + 1] != b[i]) {
        ans[q] = false;
        continue;
      }
    for (ll i = 0, i_length = (N - 1); i < i_length; ++i)
      if (a[i + 1] - a[i] < b[i + 1] - b[i]) {
        ans[q] = false;
        continue;
      }
  }
  for (ll i = 0, i_length = (Q); i < i_length; ++i)
    cout << (ans[i] ? "YES" : "NO") << endl;
}
signed main() {
  solve();
  return 0;
}
