1pub mod int {
13 use std::io::stdin;
14
15 static WRN: &str = "Could not read";
16
17 pub fn parse_i8() -> i8 {
18 let mut s = String::new();
19 stdin().read_line(&mut s).expect(WRN);
20 s.trim_end().parse::<i8>().unwrap()
21 }
22
23 pub fn parse_u8() -> u8 {
24 let mut s = String::new();
25 stdin().read_line(&mut s).expect(WRN);
26 s.trim_end().parse::<u8>().unwrap()
27 }
28
29 pub fn parse_i16() -> i16 {
30 let mut s = String::new();
31 stdin().read_line(&mut s).expect(WRN);
32 s.trim_end().parse::<i16>().unwrap()
33 }
34
35 pub fn parse_u16() -> u16 {
36 let mut s = String::new();
37 stdin().read_line(&mut s).expect(WRN);
38 s.trim_end().parse::<u16>().unwrap()
39 }
40
41 pub fn parse_i32() -> i32 {
42 let mut s: String = String::new();
43 stdin().read_line(&mut s).expect(WRN);
44 s.trim_end().parse::<i32>().unwrap()
45 }
46
47 pub fn parse_u32() -> u32 {
48 let mut s = String::new();
49 stdin().read_line(&mut s).expect(WRN);
50 s.trim_end().parse::<u32>().unwrap()
51 }
52
53 pub fn parse_i64() -> i64 {
54 let mut s = String::new();
55 stdin().read_line(&mut s).expect(WRN);
56 s.trim_end().parse::<i64>().unwrap()
57 }
58
59 pub fn parse_u64() -> u64 {
60 let mut s = String::new();
61 stdin().read_line(&mut s).expect(WRN);
62 s.trim_end().parse::<u64>().unwrap()
63 }
64
65 pub fn parse_i128() -> i128 {
66 let mut s = String::new();
67 stdin().read_line(&mut s).expect(WRN);
68 s.trim_end().parse::<i128>().unwrap()
69 }
70
71 pub fn parse_u128() -> u128 {
72 let mut s = String::new();
73 stdin().read_line(&mut s).expect(WRN);
74 s.trim_end().parse::<u128>().unwrap()
75 }
76
77 pub fn parse_isize() -> isize {
78 let mut s = String::new();
79 stdin().read_line(&mut s).expect(WRN);
80 s.trim_end().parse::<isize>().unwrap()
81 }
82
83 pub fn parse_usize() -> usize {
84 let mut s = String::new();
85 stdin().read_line(&mut s).expect(WRN);
86 s.trim_end().parse::<usize>().unwrap()
87 }
88}
89
90pub mod float {
91 use std::io::stdin;
92
93 static WRN: &str = "Could not Read";
94
95 pub fn parse_f32() -> f32 {
96 let mut s = String::new();
97 stdin().read_line(&mut s).expect(WRN);
98 s.trim_end().parse::<f32>().unwrap()
99 }
100
101 pub fn parse_f64() -> f64 {
102 let mut s = String::new();
103 stdin().read_line(&mut s).expect(WRN);
104 s.trim_end().parse::<f64>().unwrap()
105 }
106}