#337. 书籍分拣

书籍分拣

题目描述

全自动档案机器人 dash 被派往档案分拣大厅执行分拣任务。每当它扫描到一排书架时,其内置的排序协议就会激活——将书籍重新按优先级分类排列。

书籍按其重要性可分为三类:

  • L:大型基础文献,必须排在最前;
  • M:中型实用手册,位于中间;
  • S:小型摘要与笔记,排在最后。

但由于人类图书管理员的疏忽,书籍顺序被打乱。按照排序协议,dash 必须将书籍排列为:

  • 所有 L 放在最左侧,
  • 接着是所有 M
  • 最后是所有 S

它可以进行任意次交换操作,每次操作是交换任意两本书的位置。

请你计算,至少需要多少次交换才能完成这一分拣任务。

输入格式

输入包含一行,表示当前书架上的书籍顺序。每个字符是以下三种之一:

  • L:大书
  • M:中书
  • S:小书

输出格式

输出一个整数,表示完成排序所需的最少交换次数。

样例

LLMMSS
0
LLSLM
2

数据范围

  • 字符串长度 S500000|S| \leq 500000