#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 5;
int st[MAXN], cnt[MAXN], par[MAXN];
vector<int> adj[MAXN];
long long dp[MAXN];
vector<int> vc;
int n, t;
void input();
void dfs(int, int);
void solve();
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  input();
  solve();
  return 0;
}
void input() {
  cin >> n;
  for (int i = 1; i < n; i++) {
    int u, v;
    cin >> u >> v;
    u--, v--;
    adj[u].push_back(v);
    adj[v].push_back(u);
  }
}
void dfs(int u, int p) {
  vc.push_back(u);
  st[u] = t++;
  for (auto v : adj[u])
    if (v != p) {
      par[v] = u;
      dfs(v, u);
    }
  cnt[u] = t - st[u];
}
void solve() {
  dfs(0, -1);
  for (int i = 0; i < n; i++) dp[0] += cnt[i];
  for (int i = 1; i < n; i++) dp[vc[i]] = dp[par[vc[i]]] + n - (2 * cnt[vc[i]]);
  long long ans = 0;
  for (int i = 0; i < n; i++) ans = max(ans, dp[i]);
  cout << ans << endl;
}
