Language: C++

#include<bits/stdc++.h>
#include<stdio.h>
#define REP(i,n) for (int i = 1; i <= n; i++)
#define mod 1000000007
#define pb push_back
#define ff first
#define ss second
#define ii pair<int,int>
#define vi vector<int>
#define vii vector<ii>
#define lli long long int
#define INF 1000000000
#define endl '\n'
#define REPK( i , k , n ) for( int i = k ; i<=n ; i++ )
using namespace std ;



//
//int C( int n , int k )
//{
//    if ( k > n ) return 0 ;
//    
//    return ((( F[n] * 1LL * power(F[k] , mod - 2 ) )%mod)*1LL*power(F[n-k] , mod -2 ) )%mod ;
//    
//}
//
//int main() {
//    ios_base::sync_with_stdio(0);
//    cin.tie(0);
//    cout.tie(0);
//    
//    F[0] = F[1] = 0 ;
//    
//
//    
//    for( int i = 2 ; i<=100000 ; i++ )
//        F[i] = ( F[i-1] * 1LL * i )%mod ;
//    
//       int q ;
//       int n , k ;
//       
//       cin>>q ;
//       
//       while(q--)
//       {
//           cin>>n>>k ;
//           cout<<"inside the while"<<endl;
//           cout<<C(n , k)<<endl;
//       }
//    return 0 ;
//}

// this is the code for disjoint sets and unions 


//
//int main()
//{
//    
//    int n ; cin>>n ;
//    
//    REP(i,n) parent[i] =-1 , Rank[i] = 1 ;
//    
//} 



// This is the code for euler totient function 
// The complexity of the code sqrt(n) 

//int phi ( int n)
//{
//    int res = n ;
//    for( int i = 2 ; i*i <=n ; i++ )
//    {
//        if ( n%i == 0 )
//        {
//        res *= (i-1) ;  
//        res /= i ;  
//            while ( n%i == 0 )
//               {
//                   n /= i ;
//               }      
//        }
//    }
//    
//    if ( n > 1 )
//    {
//        res /= n ;
//        res *= n - 1 ;
//    }
//    
//    return res ;
//}
//int main()
//{
//    
//     int t ; cin>>t ;
//    
//     while(t--)
//     {
//         int n ; cin>>n ;         
//         cout<<phi(n)<<endl;
//     } 
//    
//    return 0 ;
//}

// the code is for finding the euler totient function
//int phi[100001] ;
//int main()
//{
//    for( int i = 1 ; i<=100001 ; i++ )
//        phi[i] = i ;
//    
//    for( int i = 2 ; i <= 100001 ; i++ )
//    {
//        if ( phi[i] == i )
//        {
//            for( int j = i ; j<=100001 ; j+= i)
//            {
//                phi[j] /= i ;
//                phi[j] *= ( i-1 ) ;
//            }
//        }
//    }
//    
//    int t ; cin>>t ;
//    
//    while( t-- )
//    {
//        int n ; cin>>n ;
//        cout<<phi[n]<<endl;
//    }
//    
//    
//    
//    return 0 ;
//}

//int getCount( int d , int n )
//{
//    return phi[N/d] ;
//}
//int main()
//{
//    int q , N ;
//    cin>>q ;
//    
//    while( q-- )
//    {
//        cin>>N ;
//        int res = 0 ;
//        
//        for( int i =1 ; i*i <=n ; i++ )
//        {
//            if ( n%i == 0 )
//            {
//                int d1 = i ;
//                int d2 = N/i ;
//                
//                res += d1*getCount(d1 , N) ;
//                
//                if ( d1 != d2 )
//                res += d2*getCount(d2 , N) ;
//            }
//        }
//    }
//    
//    return 0 ; 
//}
// rewriting the power function 

//lli power ( int a , int n )
//{
//    lli res = 1 ;
//    
//    while( n )
//    {
//        if ( n%2 ) res = ( res * 1LL * a )%mod ;
//        
//        n/=2 ;
//        
//        a = (a* 1LL * a)%mod ;
//        
//    }
//    
//    return res ;
//}
//
//int main()
//{
//    int x , y ;
//    
//    x =1000 , y =1000 ;
//    
//    cout<<power(x , y)<<endl;
//}

int main() {
    
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
   
     string s ; 
     cin>>s ;
     
     int n = s.length() ;
     lli ans = 0 ;
     int suf = 0 ;
     int power_of_10 = 1 ;
     map<int,int> cnt_suf ;
     
     for ( int i = n-1 ; i>=0 ; i-- )
     {
         int digit = s[i] - '0' ;
         suf = ( suf + digit * power_of_10 )%mod ;
         power_of_10 = 10 * power_of_10 %mod ;
         answer += cnt_suf[suf] ;
         cnt_suf[suf]++ ;
     }
     
     
     cout<<answer<<"\n" ;
     
     
    return 0 ;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:220:10: error: 'answer' was not declared in this scope
  220 |          answer += cnt_suf[suf] ;
      |          ^~~~~~
a.cc:225:12: error: 'answer' was not declared in this scope
  225 |      cout<<answer<<"\n" ;
      |            ^~~~~~