use numext_fixed_uint::U4096;
fn main() {
let a = U4096::from_dec_str("3930061525912861057173624287137506221892737197425280369698987").unwrap();
let b = U4096::from_dec_str("57896044618658097711785492504343953926634992332820282019728792003956564819968").unwrap();
println!("{}", &a * &a % b);
}
I have wait serveral minutes and finally I give up.