
fn func(input_str: &str) -> u32 {
    let s = input_str.chars().collect::<Vec<_>>();
    let mut ans = 0;
    let mut s_buf = Vec::new();
    s_buf.reserve(s.len());
    let mut idx = 0;
    while idx < s.len() {
        if idx < s.len() - 1 && s[idx] != s[idx + 1] {
            idx += 2;
            ans += 2;
        } else {
            if s_buf.len() > 0 && s_buf[s_buf.len()-1] != s[idx] {
                s_buf.pop();
                ans += 2;
            } else {
                s_buf.push(s[idx]);
            }
            idx += 1
        }
    }
    ans
}

use std::io::Read;

fn main() {
    let mut buf = String::new();
    std::io::stdin().read_to_string(&mut buf).unwrap();
    println!("{}", func(&buf[..]));
}
