fn main() { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); let s: Vec = s.trim().chars().collect(); let mut starts: Vec = vec![]; let mut ends: Vec = vec![]; for i in 0..s.len()-2 { if s[i] == 'S' { starts.push(i); } if s[i] == 'i' && s[i+1] == 'n' && s[i+2] == 'g' { ends.push(i); } } let mut result: usize = 0; let mut eidx: usize = 0; let elen = ends.len(); for sidx in starts.iter() { let temp = eidx; for j in temp..elen { if sidx < &ends[j] { result += elen - j; break; } else { eidx += 1; } } } println!("{}", result); }