22 lines
617 B
Rust
22 lines
617 B
Rust
|
|
use std::collections::HashMap;
|
||
|
|
use std::io;
|
||
|
|
|
||
|
|
fn main() -> io::Result<()> {
|
||
|
|
let mut l1: Vec<u64> = vec!();
|
||
|
|
let mut l2: HashMap<u64, u64> = HashMap::default();
|
||
|
|
for line in io::stdin().lines() {
|
||
|
|
let line = line?;
|
||
|
|
let parts: Vec<&str> = line.trim().split_whitespace().collect();
|
||
|
|
let (n1, n2) = (parts[0], parts[1]);
|
||
|
|
l1.push(n1.parse().unwrap());
|
||
|
|
let v = l2.entry(n2.parse::<u64>().unwrap()).or_insert(0);
|
||
|
|
*v += 1;
|
||
|
|
}
|
||
|
|
let mut sum = 0;
|
||
|
|
for n1 in l1.into_iter() {
|
||
|
|
sum += n1*l2.get(&n1).unwrap_or(&0);
|
||
|
|
}
|
||
|
|
println!("{}", sum);
|
||
|
|
Ok(())
|
||
|
|
}
|