#define ll long long

class Solution { public:

long long work(int n, long long seed1, long long seed2, long long seed3) {
    vector<int> u(n);//u[i],v[i]分别表示第i条边的两个端点
    vector<int> v(n);
    vector<int> w(n);//w[i]表示第i条边的边权
    ll res=0;
    for(int i=1;i<n;i++){//依照题目构造树
        ll seed4=((seed1+seed2)%998244353)*seed3%998244353;
        u[i]=i+1;
        v[i]=(seed4%i)+1;
        w[i]=seed2*seed3%12131415;
        seed3=seed2;
        seed2=seed1;
        seed1=seed4;
    }
    for(int i=1;i<n;i++){//各边权值相加
        res+=w[i];
    }
    return res;
}

};