#include<bits/stdc++.h>
using namespace std;
const long long mod=998244353;
long long n,sum[600005],tail=0,tab[600005],ss=0,cnt=0,len=0;
string s;
void ycl()
{
tab[0]=1;
for(int i=1;i<=n;i++)
{
tab[i]=(tab[i-1]*10)%mod;
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n;
s="1";
sum[0]=1;
ycl();
for(long long i=1;i<=n;i++)
{
if(s.length()>len)len=s.length();
int op,x;
cin>>op;
if(op==1)
{
cin>>x;
if(s.length()==0)sum[0]=x;
else
{
sum[s.length()]=(sum[len-1]*10+x)%mod;
//cout<<"presum="<<sum[s.length()]<<"\n";
sum[s.length()]=(sum[s.length()]-ss*tab[len]+ss*mod)%mod;
//cout<<"sum="<<sum[s.length()]<<"\n";
}
//cout<<s.length()<<" "<<sum[s.length()]<<" "<<sum[s.length()-1]<<" "<<"\n";
s+=char(x+'0');
//cout<<"s="<<s<<"\n";
if(s.length()>len)len=s.length();
}
if(op==2)
{
ss=(ss*10+s[0]-'0')%mod;
s.erase(0,1);
//cout<<"s="<<s<<"\n";
}
if(op==3)
{
//cout<<"sum="<<sum[len-1]<<"\n";
//cout<<"ss="<<ss<<"\n";
//cout<<"tab="<<tab[len-1]<<"\n";
cout<<(sum[len-1]-ss*tab[len-1]+ss*mod)%mod<<"\n";
}
}
return 0;
}
WA了11个点,rnd和del的点全错了,one和add的点都是对的,求改。
另:有人说今天的abc是Unrated的,为什么?是这样吗?