use proconio::input; fn main() { input! { n: u128, a: u128, b: u128, c: u128, d: u128, e: u128, f: u128, } fn calc(x: u128, y: u128, z: u128, m: u128) -> u128 { let offset = x.saturating_mul(m); let (q, r) = (m / y, m % y); let add = z.saturating_mul(q.saturating_mul(q.saturating_sub(1)) / 2); let add2 = r.saturating_mul(q.saturating_mul(z)); offset.saturating_add(add).saturating_add(add2) } let solve = |x: u128, y: u128, z: u128| { let mut ng = 0u128; let mut ok = n; while ok.abs_diff(ng) > 1 { let mid = ok.midpoint(ng); if calc(x, y, z, mid) >= n { ok = mid; } else { ng = mid; } } ok }; let p = solve(a, b, c); let q = solve(d, e, f); if p < q { println!("KCPC"); } else if p > q { println!("KUPC"); } else { println!("Same"); } }