fn main() {
    let mut input = String::new();
    std::io::Read::read_to_string(&mut std::io::stdin(), &mut input).ok();
    let input: Vec<u64> = input
        .split_whitespace()
        .map(|n| n.parse().unwrap())
        .collect();

    let mut a = (input[0], input[1]);
    let mut b = (input[2], input[3]);
    let c = input[4];
    let d = input[5];

    b = (b.0 + c.saturating_sub(a.1), b.1 + c.min(a.1));
    a = (a.0 - c.saturating_sub(a.1), a.1 - c.min(a.1));
    a = (a.0 + d.min(b.0), a.1 + d.saturating_sub(b.1));

    println!("{}", a.0);
}