const V: i32;
fn dfs(v: i32, c: i32) -> bool {
let color: Vec<i32> = Vec::new();
color[v] = c;
for i in 0..G.len() {
if color[G[v][i]] == c {
return false;
}
if color[G[v][i]] == 0 && !dfs(G[v][i], -c) {
return false;
}
}
return true;
}
fn main() {
for i in 0..V {
if color[i] == 0 {
if !dfs(i, 1) {
println!("No");
}
}
}
println!("Yes");
}