local s = io.read() local n = #s local one, two = {}, {} one[1], two[1] = {}, {} for i = 1, 26 do one[1][i], two[1][i] = 0LL, 0LL end local ans = 0LL for i = 1, n do one[i + 1], two[i + 1] = {}, {} for j = 1, 26 do one[i + 1][j] = one[i][j] two[i + 1][j] = two[i][j] end local b = s:byte(i) - 64 one[i + 1][b] = one[i][b] + 1LL two[i + 1][b] = two[i][b] + one[i][b] for j = 1, 26 do if j ~= b then ans = ans + two[i][j] end end end ans = tostring(ans):gsub("LL", "") print(ans)