func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MODULO = 998244353;   const int N_MAX = 200010;   vector<int> neighbors[N_MAX];   int factorials[N_MAX];   int n;   int calculateBranch(int x, int par) {     int perm = factorials[neighbors[x].size()];     for (int y : neighbors[x]) {       if (y != par) {         perm = ((long long)perm * calculateBranch(y, x)) % MODULO;       }     }     return perm;   }   void outerInit() {     ios::sync_with_stdio(false);     cin.tie(nullptr);     auto fi = new ifstream( test.inp );     if (*fi) {       cin.rdbuf(fi->rdbuf());     }   }   void readData() {     cin >> n;     for (int i = 1; i < n; ++i) {       int x, y;       cin >> x >> y;       neighbors[x].push_back(y);       neighbors[y].push_back(x);     }   }   void initData() {     factorials[0] = 1;     for (int i = 1; i <= n; ++i) {       factorials[i] = ((long long)factorials[i - 1] * i) % MODULO;     }   }   void solveData() { cout << ((long long)n * calculateBranch(1, 0)) % MODULO; }   int main() {     outerInit();     readData();     initData();     solveData();   }   