pub use __cargo_equip::prelude::*; use std::collections::HashSet; use ac_library::ModInt; use cp_utils::yes_no; use proconio::{fastout, input}; #[fastout] fn main() { input! { t: usize, } let mut set = HashSet::new(); let mut x = 1; while x <= 1_000_000_000 { set.insert(x); x *= 2; } for _ in 0..t { input! { n: u64, } let mut ok = true; if n == 0 { ok = true; } else if n == 1 { ok = true; } else if n == 2 { ok = true; } else if n == 3 { ok = false; } else { ModInt::set_modulus(72); let mut x = ModInt::new(2); x = x.pow(n); x += 1; if !(set.contains(&n) && ((x.val() == 17) || (x.val() == 41))) { ok = false; } } yes_no!(ok); } } // The following code was expanded by `cargo-equip`. /// # Bundled libraries /// /// - `git+https://github.com/itto4869/cp_library.git?branch=rust-1.89.0#cp_utils@0.1.0` licensed under `CC0-1.0` as `crate::__cargo_equip::crates::cp_utils` #[cfg_attr(any(), rustfmt::skip)] #[allow(unused)] mod __cargo_equip { pub(crate) mod crates { pub mod cp_utils {pub use crate::__cargo_equip::macros::cp_utils::*;#[macro_export]macro_rules!__cargo_equip_macro_def_cp_utils_yes_no{($b:expr)=>{$crate::__cargo_equip::crates::cp_utils::yes_no_custom!($b,"Yes","No")};}macro_rules!yes_no{($($tt:tt)*)=>(crate::__cargo_equip_macro_def_cp_utils_yes_no!{$($tt)*})}#[macro_export]macro_rules!__cargo_equip_macro_def_cp_utils_yes_no_custom{($b:expr,$yes:expr,$no:expr)=>{println!("{}",if$b{$yes}else{$no})};}macro_rules!yes_no_custom{($($tt:tt)*)=>(crate::__cargo_equip_macro_def_cp_utils_yes_no_custom!{$($tt)*})}#[must_use]pub const fn yes_no(b:bool)->&'static str{yes_no_custom(b,"Yes","No")}#[must_use]pub const fn yes_no_custom<'a>(b:bool,yes:&'a str,no:&'a str)->&'a str{if b{yes}else{no}}} } pub(crate) mod macros { pub mod cp_utils {pub use crate::{__cargo_equip_macro_def_cp_utils_yes_no as yes_no,__cargo_equip_macro_def_cp_utils_yes_no_custom as yes_no_custom};} } pub(crate) mod prelude {pub use crate::__cargo_equip::crates::*;} mod preludes { pub mod cp_utils {} } }