#include <bits/stdc++.h>
using namespace std;
const long long maxd = 1e5 + 5;
long long n;
long long u[maxd], v[maxd], c[maxd], a[maxd];
int main() {
  scanf("%lld", &n);
  for (int i = 1; i < n; i++) scanf("%lld%lld", &u[i], &v[i]);
  for (int i = 1; i <= n; i++) scanf("%lld", &c[i]);
  int cnt = 0;
  for (int i = 1; i < n; i++) {
    if (c[u[i]] != c[v[i]]) {
      cnt++;
      a[u[i]]++;
      a[v[i]]++;
    }
  }
  for (int i = 1; i <= n; i++) {
    if (cnt == a[i]) return 0 * printf("YES\n%d", i);
  }
  return 0 * puts("NO");
}
