fn main() { let (n, a, b): (i64, i64, i64) = { let mut line: String = String::new(); std::io::stdin().read_line(&mut line).unwrap(); let mut iter = line.split_whitespace(); ( iter.next().unwrap().parse().unwrap(), iter.next().unwrap().parse().unwrap(), iter.next().unwrap().parse().unwrap(), ) }; let mut ans:i64 = (1<<62) -1; //全て1 if ans>a*(n-1)-b*n{ ans=a*(n-1)-b*n; } // 全て-1 if ans>a*(n-1)+b*n{ ans=a*(n-1)+b*n; } // -1,1,-1,... if n%2==0{ if ans>-a*(n-1){ ans=a*(n-1); } } else{ if ans>-a*(n-1)+b{ ans=a*(n-1)+b; } } // 1,-1,1,-1,... if n%2==0{ if ans>-a*(n-1){ ans=-a*(n-1); } } else{ if ans>-a*(n-1)-b{ ans=-a*(n-1)-b; } } println!("{}",ans); }