inpx/
lib.rs

1/*
2* Basic Structure:
3
4pub fn <Name>() -> <Result> {
5    let mut s = String::new();
6    stdin().read_line(&mut s).expect(WRN);
7    s.trim_end().parse::<Type>().unwrap()
8}
9
10*/
11
12pub 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}