Problem:
Score : 100 points

Problem Statement

We have weather records at AtCoder Town for some consecutive three days. A string of length 3, S, represents the records - if the i-th character is S, it means it was sunny on the i-th day; if that character is R, it means it was rainy on that day.

Find the maximum number of consecutive rainy days in this period.

Constraints

|S| = 3

Each character of S is S or R.

Input

Input is given from Standard Input in the following format:

S

Output

Print the maximum number of consecutive rainy days in the period.

Sample Input 1

RRS

Sample Output 1

2

We had rain on the 1-st and 2-nd days in the period. Here, the maximum number of consecutive rainy days is 2, so we should print 2.

Sample Input 2

SSS

Sample Output 2

0

It was sunny throughout the period. We had no rainy days, so we should print 0.

Sample Input 3

RSR

Sample Output 3

1

We had rain on the 1-st and 3-rd days - two "streaks" of one rainy day, so we should print 1.

Solution in Rust (1.42.0) (judge verdict: Accepted)

use echo::*;
use proconio::input;

fn main() {
    input! {
        s: String,
    };
    let res = s.split('S').map(|c| c.len()).max().unwrap_or(0);
    res.echo();
}

pub mod echo {
    use std::io::{stdout, BufWriter, StdoutLock, Write};

    pub trait EchoBase {
        fn echo(&self);
        fn echo_with_space(&self);
        fn echo_with_nothing(&self);
        fn stdout_echo(&self, out: &mut BufWriter<StdoutLock>);
        fn stdout_echo_with_space(&self, out: &mut BufWriter<StdoutLock>);
        fn stdout_echo_with_nothing(&self, out: &mut BufWriter<StdoutLock>);
    }

    pub trait Echo {
        fn echo(&self);
        fn echo_with_space(&self);
        fn echo_with_nothing(&self);
    }

    macro_rules! impl_echo_base {
    ($($t:ty),*) => {
        $(
            impl EchoBase for $t{
                fn echo(&self){
                    println!("{}",*self);
                }

                fn echo_with_space(&self){
                    print!("{} ",*self);
                }

                fn echo_with_nothing(&self){
                    print!("{}",*self);
                }

                fn stdout_echo(&self,out: &mut BufWriter<StdoutLock>){
                    writeln!(out,"{}",self).unwrap();
                }


                fn stdout_echo_with_space(&self,out: &mut BufWriter<StdoutLock>){
                    writeln!(out,"{} ",self).unwrap();
                }


                fn stdout_echo_with_nothing(&self,out: &mut BufWriter<StdoutLock>){
                    write!(out,"{}",self).unwrap();
                }
            }
        )*
    };
}

    macro_rules! impl_echo_base_f {
    ($($t:ty),*) => {
        $(
            impl EchoBase for $t{
                fn echo(&self){
                    println!("{:.12}",*self);
                }

                fn echo_with_space(&self){
                    print!("{:.12} ",*self);
                }

                fn echo_with_nothing(&self){
                    print!("{:.12}",*self);
                }

                fn stdout_echo(&self,out: &mut BufWriter<StdoutLock>){
                    writeln!(out,"{:.12}",self).unwrap();
                }


                fn stdout_echo_with_space(&self,out: &mut BufWriter<StdoutLock>){
                    writeln!(out,"{:.12} ",self).unwrap();
                }


                fn stdout_echo_with_nothing(&self,out: &mut BufWriter<StdoutLock>){
                    write!(out,"{:.12}",self).unwrap();
                }
            }
        )*
    };
}

    impl_echo_base!(u8, u16, u32, u64, u128, usize);
    impl_echo_base!(i8, i16, i32, i64, i128, isize);
    impl_echo_base!(char, &str, String);
    impl_echo_base_f!(f32, f64);

    impl<T: EchoBase> Echo for [T] {
        fn echo(&self) {
            let out = stdout();
            let mut out = BufWriter::new(out.lock());
            for i in self.clone().iter() {
                i.stdout_echo(&mut out);
            }
        }

        fn echo_with_space(&self) {
            let out = stdout();
            let mut out = BufWriter::new(out.lock());
            for i in self.clone().iter() {
                i.stdout_echo_with_space(&mut out);
            }
            write!(out, "").unwrap();
        }

        fn echo_with_nothing(&self) {
            let out = stdout();
            let mut out = BufWriter::new(out.lock());
            for i in self.clone().iter() {
                i.stdout_echo_with_nothing(&mut out);
            }
            write!(out, "").unwrap();
        }
    }
}