#include <bits/stdc++.h>
using namespace std;
long long const mod = 998244353;
int n;
vector<vector<int> > edg;
long long mod_fact(int x) {
  static vector<long long> fact = {1, 1};
  if (x < 0) return 0;
  if (x < fact.size()) return fact[x];
  for (int i = fact.size(); i <= x; i++) {
    fact.push_back((fact[i - 1] * i) % mod);
  }
  return fact[x];
}
long long f(int x, int p) {
  long long res = 1;
  for (int y : edg[x]) {
    if (y == p) continue;
    res *= f(y, x);
    res %= mod;
  }
  res *= mod_fact(edg[x].size());
  return res % mod;
}
int main(void) {
  cin >> n;
  edg.assign(n, vector<int>());
  for (int i = 0; i < n - 1; i++) {
    int u, v;
    cin >> u >> v;
    u--;
    v--;
    edg[u].push_back(v);
    edg[v].push_back(u);
  }
  long long ans = f(0, -1) * n;
  cout << ans % mod << endl;
}
