#include <bits/stdc++.h>
using namespace std;

const int MAXN = 100005;
int ps[MAXN][26];

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    string s;
    if (!(cin >> s)) return 0;
    int n = s.length();

    // Xây dựng mảng prefix sum ps[i][c]
    // ps[i][c] lưu số lượng ký tự c từ đầu xâu đến vị trí i - 1
    for (int i = 0; i < n; ++i) {
        for (int c = 0; c < 26; ++c) {
            ps[i + 1][c] = ps[i][c];
        }
        ps[i + 1][s[i] - 'a']++;
    }

    long long ans = 0;

    // Duyệt qua từng điểm bắt đầu l
    for (int l = 0; l < n; ++l) {
        // r chạy sao cho độ dài (r - l + 1) luôn chẵn (r - l lẻ, tức là r bắt đầu từ l + 1 và nhảy 2 bước)
        for (int r = l + 1; r < n; r += 2) {
            int mid = l + (r - l) / 2;
            bool ok = true;

            // Kiểm tra các ký tự từ 'a' đến 'z'
            for (int c = 0; c < 26; ++c) {
                int count_left = ps[mid + 1][c] - ps[l][c];       // Số lượng c ở nửa trái [l, mid]
                int count_right = ps[r + 1][c] - ps[mid + 1][c];   // Số lượng c ở nửa phải [mid + 1, r]

                // Điều kiện: Ký tự xuất hiện ở nửa trái phải tương đương với nửa phải
                if ((count_left > 0) != (count_right > 0)) {
                    ok = false;
                    break;
                }
            }

            if (ok) {
                ans++;
            }
        }
    }

    cout << ans << "\n";
    return 0;
}