#include <bits/stdc++.h>
int descending_compare(const void *a, const void *b) {
  if (*(int *)a > *(int *)b) {
    return -1;
  } else if (*(int *)a == *(int *)b) {
    return 0;
  } else {
    return 1;
  }
}
int ascending_compare(const void *a, const void *b) {
  if (*(int *)a < *(int *)b) {
    return -1;
  } else if (*(int *)a == *(int *)b) {
    return 0;
  } else {
    return 1;
  }
}
int lower_bound(int *a, int n, int key) {
  int left, mid, right;
  left = 0, right = n;
  mid = (left + right) / 2;
  while ((left + 1 != mid || mid + 1 != right) && mid != left) {
    if (key > a[mid]) {
      left = mid;
    } else {
      right = mid + 1;
    }
    mid = (left + right) / 2;
  }
  if (a[left] >= key) return left;
  if (a[mid] >= key) return mid;
  if (a[right] >= key) return right;
  return n;
}
int main(void) {
  int a, b;
  char s[15];
  int i;
  int flag = 0;
  scanf("%d %d", &a, &b);
  scanf(" %s", s);
  if (s[3] == '-') {
    flag = 1;
  }
  if (strlen(s) != a + b + 1) {
    flag = 0;
  }
  for (i = 0; i < a; i++) {
    if (s[i] < '0' || s[i] > '9') {
      flag = 0;
    }
  }
  for (i = a + 1; i < strlen(s); i++) {
    if (s[i] < '0' || s[i] > '9') {
      flag = 0;
    }
  }
  if (flag == 1) {
    printf("Yes\n");
  } else {
    printf("No\n");
  }
}
