#include <bits/stdc++.h>
#define ll long long
using namespace std;
string s;
int n, f, t;
map<string, ll> folderSize;
map<string, set<string>> fileTree;
inline void mount(string name) {
string father = "/", curr;
for (size_t i = 1; i < name.size(); i++) {
if (name[i] == '/') {
fileTree[father].insert(curr);
folderSize[father] += f;
father = father + curr + '/';
curr = "";
}
else {
curr += name[i];
}
}
folderSize[father] += f;
}
inline void printTree(string name) {
if (fileTree[name].size() == 0) {
printf("%s %lld\n", name.c_str(), folderSize[name]);
return;
}
bool flag = false;
for (auto conn : fileTree[name]) {
if (folderSize[name + conn + '/'] >= t) {
flag = true;
break;
}
}
if (flag) {
printf("- %s %lld\n", name.c_str(), folderSize[name]);
for (auto conn : fileTree[name]) {
printTree(name + conn + '/');
}
}
else {
printf("+ %s %lld\n", name.c_str(), folderSize[name]);
}
}
int main(int argc, char const *argv[]) {
ios::sync_with_stdio(false);
cin >> n;
while (n--) {
cin >> s >> f;
mount(s);
}
cin >> t;
printTree("/");
system("pause");
return 0;
}