#include<iostream> #include<cstdio> #include<cstring> #define ll long long #define mod 998244353 #define maxn 100010 #define jin 26//进制 using namespace std; int l,r; int h[maxn];//前缀的hash的值 abcdacc ->1234133 int mi[maxn];//进制的i次方 char s[maxn]; //函数封装不容易出错 int ad(int x,int y){//+ return (x+y)%mod; } int sub(int x,int y){//- return (x-y+mod)%mod; } int mul(int x,int y){//* return (ll)x*y%mod; } int main(){ cin>>s+1;//从第1位开始输入字符串 int n=strlen(s+1); cin>>l>>r; mi[0]=1; for(int i=1;i<=n;i++){ // mi[i]=((ll)mi[i-1]*jin)%mod;//写法一 mi[i]=mul(mi[i-1],s[i]-'a');//写法二 } for(int i=1;i<=n;i++){ // h[i]=((ll)h[i-1]*jin+(s[i]-'a'))%mod; h[i]=ad(mul(h[l-1],jin),s[i]-'a'); } // int hsh=((h[r]-h[l-1]*mi[r-l+1])%mod+mod)%mod;//注意取模,+mod保证结果为正数 int hsh=sub(h[r],mul(h[l-1],mi[r-l+1])); cout<<hsh<<endl;//随便输出的(雾 return 0; }