#include <bits/stdc++.h>
using namespace std;
const int N = 100000 + 5;
int n;
int s[N], c[N];
map<int, int> a, b;
int main() {
  int i;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d", &s[i]);
    c[i] = s[i];
  }
  printf("YES\n");
  if (n == 1) {
    printf("0\n%d\n", s[0]);
    return 0;
  }
  sort(c, c + n);
  int m = (n + 2) / 3;
  for (i = 0; i < n; i++) {
    if (i < m) {
      a[c[i]] = 0;
      b[c[i]] = c[i];
    } else if (i < m + m) {
      a[c[i]] = c[i];
      b[c[i]] = 0;
    } else {
      a[c[i]] = n - (i + 1);
      b[c[i]] = c[i] - (n - (i + 1));
    }
  }
  for (i = 0; i < n; i++) {
    printf("%d", a[s[i]]);
    if (i == n - 1)
      printf("\n");
    else
      printf(" ");
  }
  for (i = 0; i < n; i++) {
    printf("%d", b[s[i]]);
    if (i == n - 1)
      printf("\n");
    else
      printf(" ");
  }
  return 0;
}
