#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
int n, d, a[N];
pair<int, int> c[N];
int cx[4] = {0, 0, -1, 1};
int cy[4] = {-1, 1, 0, 0};
void Input() {
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> a[i];
  for (int i = 2; i <= n; i++) d = max(d, abs(a[i] - a[i - 1]));
}
void DFS(int u, int v, int cnt) {
  if (cnt == n) {
    cout << "YES" << '\n' << 1000000000 << " " << d << '\n';
    exit(0);
  }
  for (int i = 0; i < 4; i++) {
    int x = u + cx[i];
    int y = v + cy[i];
    if (c[cnt + 1] == make_pair(x, y)) DFS(x, y, cnt + 1);
  }
  cout << "NO" << '\n';
  exit(0);
}
void Solve() {
  for (int i = 1; i <= n; i++) {
    c[i].first = a[i] / d;
    if (a[i] % d != 0) c[i].first++;
    c[i].second = a[i] - (d * (c[i].first - 1));
  }
  DFS(c[1].first, c[1].second, 1);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0), cout.tie(0);
  Input();
  if (n == 1)
    cout << "YES" << '\n' << 1000000000 << " " << 1 << '\n';
  else if (d > 1e9 || !d)
    cout << "NO" << '\n';
  else
    Solve();
  return 0;
}
