use std::io;

fn procon_read<T: std::str::FromStr>() ->  Vec<T> {
	let mut buf = String::new();
	io::stdin().read_line(&mut buf).expect("");
	let iter = buf.split_whitespace();
	let mut v: Vec<T> = Vec::new();
	for i in iter {
		v.push(i.parse().ok().unwrap());
	}
	v
}

fn main() {
	let v:Vec<i32> = procon_read();
	let a = v[0];
	let b = v[1];
	let mut buf = String::new();
	io::stdin().read_line(&mut buf).expect("");
	let v:Vec<char> = buf.trim().chars().collect();
	let mut flag = true;
	if v[a as usize] == '-' {
		for i in 0..a {
			if v[i as usize] == '-' {
				flag = false;
				break;
			}
		}
		for i in (a+1)..b{
			if v[i as usize] == '-' {
				flag = false;
				break;
			}
		}
		if flag {
			println!("Yes");
		}else{
			println!("No");
		}
	}else{
		println!("No");
	}
}