const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
const [m, n] = (await readline()).split(" ").map(Number);
const files = [];
for (let i = 0; i < m; i++) {
let [id, size, child] = (await readline()).split(" ");
child = child.split(/[()]/).filter((item) => item != "")[0];
if (child) {
child = child.split(",").map(Number);
files.push({ id: Number(id), size: Number(size), child });
} else {
files.push({ id: Number(id), size: Number(size), child: [] });
}
}
let root = files.find((item) => item.id == n);
const getSize = (root) => {
if (!root) return 0;
let val = root.size;
for (const child of root.child) {
val += getSize(files.find((item) => item.id == child));
}
return val;
};
console.log(getSize(root));
})();