func_code_string: #include <bits/stdc++.h>   using namespace std;   pair<int, int> V[2001010];   int cnt[2002];   long long cum[2002], N;   string s;   void make(int l, int r) {     while (l >= 0 && r < (int)s.size()) {       if (s[l] == s[r]) {         V[N++] = (make_pair(l, r));         cnt[l]++;       } else         break;       l--, r++;     }   }   int main() {     N = 0;     cin >> s;     memset(cnt, 0, sizeof(cnt));     for (int i = 0; i < (int)s.size(); ++i) {       make(i, i);       make(i - 1, i);     }     cum[0] = 0;     for (int i = 0; i < (int)s.size(); ++i) cum[i + 1] = cum[i] + cnt[i];     long long Sm = cum[s.size()];     long long c = 0;     for (int i = 0; i < N; ++i) {       c += (Sm - cum[V[i].second + 1]);     }     cout << c << endl;   }   