#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<int> amici[100010];
int val[100010];
int quanto[100010];
queue<int> fittati;
bool fatto[100010];
vector<int> scelti;
int main() {
  cin >> n >> m;
  for (int i = 0; i < m; i++) {
    int a, b;
    cin >> a >> b;
    amici[a].push_back(b);
    amici[b].push_back(a);
  }
  for (int i = 1; i <= n; i++) {
    cin >> val[i];
    if (val[i] == 0) fittati.push(i);
  }
  while (!fittati.empty()) {
    int at = fittati.front();
    fittati.pop();
    if (!fatto[at]) {
      scelti.push_back(at);
      quanto[at]++;
      for (int i = 0; i < int(amici[at].size()); i++) {
        int am = amici[at][i];
        quanto[am]++;
        if (quanto[am] > val[am]) fatto[am] = true;
        if (quanto[am] == val[am]) fittati.push(am);
      }
    }
  }
  cout << scelti.size() << "\n";
  for (int i = 0; i < int(scelti.size()); i++) cout << scelti[i] << " ";
}
