#include <cstdio>
const int INF = 10000000;
int N, M;
int S, E;
int data[203][203];
int main() {
scanf("%d %d", &N, &M);
for (int i = 1; i <= N; i ++) {
for (int j = 1; j <= N; j ++) {
data[i][j] = INF;
}
data[i][i] = 0;
}
while (M --) {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (data[a][b] > c) {
data[a][b] = c;
}
}
scanf("%d %d", &S, &E);
for (int k = 1; k <= N; k ++) {
for (int i = 1; i <= N; i ++) {
for (int j = 1; j <= N; j ++) {
if (data[i][j] > data[i][k] + data[k][j]) {
data[i][j] = data[i][k] + data[k][j];
}
}
}
}
int cnt = 0;
for (int i = 1; i <= N; i ++) {
if (data[S][i] + data[i][E] == data[S][E]) {
cnt ++;
}
}
printf("%d\n", cnt);
for (int i = 1; i <= N; i ++) {
if (data[S][i] + data[i][E] == data[S][E]) {
printf("%d\n", i);
}
}
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KIApjb25zdCBpbnQgSU5GID0gMTAwMDAwMDA7CiAKaW50IE4sIE07CmludCBTLCBFOwogCmludCBkYXRhWzIwM11bMjAzXTsKIAppbnQgbWFpbigpIHsKICAgIHNjYW5mKCIlZCAlZCIsICZOLCAmTSk7CiAgICAgCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBOOyBpICsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPD0gTjsgaiArKykgewogICAgICAgICAgICBkYXRhW2ldW2pdID0gSU5GOwogICAgICAgIH0KICAgICAgICBkYXRhW2ldW2ldID0gMDsKICAgIH0KICAgICAKICAgIHdoaWxlIChNIC0tKSB7CiAgICAgICAgaW50IGEsIGIsIGM7CiAgICAgICAgc2NhbmYoIiVkICVkICVkIiwgJmEsICZiLCAmYyk7CiAgICAgICAgaWYgKGRhdGFbYV1bYl0gPiBjKSB7CiAgICAgICAgICAgIGRhdGFbYV1bYl0gPSBjOwogICAgICAgIH0KICAgIH0KICAgICAKICAgIHNjYW5mKCIlZCAlZCIsICZTLCAmRSk7CiAgICAgCiAgICBmb3IgKGludCBrID0gMTsgayA8PSBOOyBrICsrKSB7CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gTjsgaSArKykgewogICAgICAgICAgICBmb3IgKGludCBqID0gMTsgaiA8PSBOOyBqICsrKSB7CiAgICAgICAgICAgICAgICBpZiAoZGF0YVtpXVtqXSA+IGRhdGFbaV1ba10gKyBkYXRhW2tdW2pdKSB7CiAgICAgICAgICAgICAgICAgICAgZGF0YVtpXVtqXSA9IGRhdGFbaV1ba10gKyBkYXRhW2tdW2pdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgIAogICAgaW50IGNudCA9IDA7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBOOyBpICsrKSB7CiAgICAgICAgaWYgKGRhdGFbU11baV0gKyBkYXRhW2ldW0VdID09IGRhdGFbU11bRV0pIHsKICAgICAgICAgICAgY250ICsrOwogICAgICAgIH0KICAgIH0KICAgICAKICAgIHByaW50ZigiJWRcbiIsIGNudCk7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBOOyBpICsrKSB7CiAgICAgICAgaWYgKGRhdGFbU11baV0gKyBkYXRhW2ldW0VdID09IGRhdGFbU11bRV0pIHsKICAgICAgICAgICAgcHJpbnRmKCIlZFxuIiwgaSk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0=