#agc015b. [agc015_b]Evilator

[agc015_b]Evilator

题目描述

Skenu建造了一座有 NN 层的大楼。这座建筑有一部电梯,电梯在每层都停靠。

电梯上有控制按钮,但是Skenu不经意地在每层只安装了一个按钮——上或下。这意味着,从每层只能朝一个方向前往。如果 SiS_iU,表示第 ii 层只安装了"上"按钮,只能往上走;如果 SiS_iD,表示第 ii 层只安装了"下"按钮,只能往下走。

居民们别无选择,必要时需要经过其他楼层才能到达目标楼层。计算在所有有序的两个楼层(i,j)(i,j)上,以下数字的总和:从第 ii 层到第 jj 层需要乘电梯的最小次数。

约束条件

  • 2S1052 ≤ |S| ≤ 10^5
  • SiS_i 只能是 U 或者 D
  • S1S_1U
  • SSS_{|S|}D

输入

输入从标准输入读取,格式如下:

S1S2...SSS_1S_2...S_{|S|}

输出

打印在所有有序的两个楼层(i,j)(i,j)上,以下数字的总和:从第 ii 层到第 jj 层需要乘电梯的最小次数。


示例输入 1

UUD

示例输出 1

7

从第 11 层到第 22 层,只需乘坐一次电梯。

从第 11 层到第 33 层,只需乘坐一次电梯。

从第 22 层到第 11 层,需乘坐两次电梯。

从第 22 层到第 33 层,只需乘坐一次电梯。

从第 33 层到第 11 层,只需乘坐一次电梯。

从第 33 层到第 22 层,只需乘坐一次电梯。

这些次数的总和是 77


示例输入 2

UUDUUDUD

示例输出 2

77