import java.util.*;
import java.io.*;
class Main
{
static Vector<Triple> vect;
static UF uf;
static int min;
{
int n
= Integer.
parseInt(sTok.
nextToken());
int m
= Integer.
parseInt(sTok.
nextToken());
int l = 0;
while(n + m != 0)
{
l++;
vect = new Vector<Triple>();
uf = new UF(n);
min = 0;
for(int i = 0; i < m; i++)
{
line = br.readLine();
int a
= Integer.
parseInt(sTok.
nextToken()) - 1;
int b
= Integer.
parseInt(sTok.
nextToken()) - 1;
int c
= Integer.
parseInt(sTok.
nextToken());
vect.add(new Triple(c,a,b));
}
line = br.readLine();
int start
= Integer.
parseInt(sTok.
nextToken()) - 1;
int finish
= Integer.
parseInt(sTok.
nextToken()) - 1;
double tou
= Double.
parseDouble(sTok.
nextToken());
for(int i = 0; i < vect.size(); i++)
{
if(uf.sameSet(start, finish))
break;
Triple t = vect.get(i);
int w = t.w;
int v1 = t.v1;
int v2 = t.v2;
if(!uf.sameSet(v1, v2))
{
min = w;
uf.union(v1, v2);
}
}
int result = 0;
if(min > 0)
{
min = min - 1;
result
= (int) Math.
ceil(tou
/ min
); }
str.append("Scenario #" + l + "\n");
str.append("Minimum Number of Trips = " + result + "\n\n");
line = br.readLine();
n
= Integer.
parseInt(sTok.
nextToken());
m
= Integer.
parseInt(sTok.
nextToken()); }
out.write(str.toString());
out.flush();
}
}
class UF
{
int[] array;
int[] sizes;
int count;
UF(int n)
{
array = new int[n];
sizes = new int[n];
count = n;
for(int i = 0; i < n; i++)
{
array[i] = i;
sizes[i] = 1;
}
}
int size()
{
return count;
}
int findSet(int i)
{
if(array[i] == i)
return i;
else
return findSet(array[i]);
}
boolean sameSet(int i, int j)
{
return findSet(i) == findSet(j);
}
void union(int i, int j)
{
int a = findSet(i);
int b = findSet(j);
if(a != b)
{
if(sizes[a] > sizes[b])
{
array[b] = a;
sizes[a] += sizes[b];
}
else
{
array[a] = b;
sizes[b] += sizes[a];
}
count--;
}
}
}
class Triple implements Comparable<Triple>
{
int w;
int v1;
int v2;
Triple(int a, int b, int c)
{
w = a;
v1 = b;
v2 = c;
}
@Override
public int compareTo(Triple that) {
if(this.w > that.w)
return -1;
else if(this.w < that.w)
return 1;
else
return 0;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwoKY2xhc3MgTWFpbgp7ICAgCiAgIHN0YXRpYyBWZWN0b3I8VHJpcGxlPiB2ZWN0OwogICBzdGF0aWMgVUYgdWY7CiAgIHN0YXRpYyBpbnQgbWluOwogICAKICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIElPRXhjZXB0aW9uCiAgIHsKICAgICAgQnVmZmVyZWRSZWFkZXIgYnIgPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5pbikpOwogICAgICAKICAgICAgQnVmZmVyZWRXcml0ZXIgb3V0ID0gbmV3IEJ1ZmZlcmVkV3JpdGVyKG5ldyBPdXRwdXRTdHJlYW1Xcml0ZXIoU3lzdGVtLm91dCkpOwogICAgICAKICAgICAgU3RyaW5nQnVmZmVyIHN0ciA9IG5ldyBTdHJpbmdCdWZmZXIoKTsKICAgICAgCiAgICAgIFN0cmluZyBsaW5lID0gYnIucmVhZExpbmUoKTsKICAgICAgCiAgICAgIAogICAgICBTdHJpbmdUb2tlbml6ZXIgc1RvayA9IG5ldyBTdHJpbmdUb2tlbml6ZXIobGluZSk7CiAgICAgIAogICAgICBpbnQgbiA9IEludGVnZXIucGFyc2VJbnQoc1Rvay5uZXh0VG9rZW4oKSk7CiAgICAgIAogICAgICBpbnQgbSA9IEludGVnZXIucGFyc2VJbnQoc1Rvay5uZXh0VG9rZW4oKSk7CiAgICAgIAogICAgICBpbnQgbCA9IDA7CiAgICAgIAogICAgICB3aGlsZShuICsgbSAhPSAwKQogICAgICB7CiAgICAgICAgIGwrKzsKICAgICAgICAgCiAgICAgICAgIHZlY3QgPSBuZXcgVmVjdG9yPFRyaXBsZT4oKTsKICAgICAgICAgCiAgICAgICAgIHVmID0gbmV3IFVGKG4pOwogICAgICAgICAKICAgICAgICAgbWluID0gMDsKICAgICAgICAgCiAgICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCBtOyBpKyspCiAgICAgICAgIHsKICAgICAgICAgICAgbGluZSA9IGJyLnJlYWRMaW5lKCk7CiAgICAgICAgICAgIAogICAgICAgICAgICBzVG9rID0gbmV3IFN0cmluZ1Rva2VuaXplcihsaW5lKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGludCBhID0gSW50ZWdlci5wYXJzZUludChzVG9rLm5leHRUb2tlbigpKSAtIDE7CiAgICAgICAgICAgIAogICAgICAgICAgICBpbnQgYiA9IEludGVnZXIucGFyc2VJbnQoc1Rvay5uZXh0VG9rZW4oKSkgLSAxOwogICAgICAgICAgICAKICAgICAgICAgICAgaW50IGMgPSBJbnRlZ2VyLnBhcnNlSW50KHNUb2submV4dFRva2VuKCkpOwogICAgICAgICAgICAKICAgICAgICAgICAgdmVjdC5hZGQobmV3IFRyaXBsZShjLGEsYikpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBsaW5lID0gYnIucmVhZExpbmUoKTsKICAgICAgICAgCiAgICAgICAgIHNUb2sgPSBuZXcgU3RyaW5nVG9rZW5pemVyKGxpbmUpOwogICAgICAgICAKICAgICAgICAgaW50IHN0YXJ0ID0gSW50ZWdlci5wYXJzZUludChzVG9rLm5leHRUb2tlbigpKSAtIDE7CiAgICAgICAgIAogICAgICAgICBpbnQgZmluaXNoID0gSW50ZWdlci5wYXJzZUludChzVG9rLm5leHRUb2tlbigpKSAtIDE7CiAgICAgICAgIAogICAgICAgICBkb3VibGUgdG91ID0gRG91YmxlLnBhcnNlRG91YmxlKHNUb2submV4dFRva2VuKCkpOwogICAgICAgICAKICAgICAgICAgCiAgICAgICAgIENvbGxlY3Rpb25zLnNvcnQodmVjdCk7CiAgICAgICAgIAogICAgICAgICAKICAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IHZlY3Quc2l6ZSgpOyBpKyspCiAgICAgICAgIHsKICAgICAgICAgICAgaWYodWYuc2FtZVNldChzdGFydCwgZmluaXNoKSkKICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIAogICAgICAgICAgICBUcmlwbGUgdCA9IHZlY3QuZ2V0KGkpOwogICAgICAgICAgICAKICAgICAgICAgICAgaW50IHcgPSB0Lnc7CiAgICAgICAgICAgIAogICAgICAgICAgICBpbnQgdjEgPSB0LnYxOwogICAgICAgICAgICAKICAgICAgICAgICAgaW50IHYyID0gdC52MjsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmKCF1Zi5zYW1lU2V0KHYxLCB2MikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgbWluID0gdzsKICAgICAgICAgICAgICAgdWYudW5pb24odjEsIHYyKTsKICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpbnQgcmVzdWx0ID0gMDsKICAgICAgICAgCiAgICAgICAgIGlmKG1pbiA+IDApCiAgICAgICAgIHsKICAgICAgICAgICAgbWluID0gbWluIC0gMTsKICAgICAgICAgICAgcmVzdWx0ID0gKGludCkgTWF0aC5jZWlsKHRvdSAvIG1pbik7CiAgICAgICAgIH0KCiAgICAgICAgIAogICAgICAgICBzdHIuYXBwZW5kKCJTY2VuYXJpbyAjIiArIGwgKyAiXG4iKTsKICAgICAgICAgc3RyLmFwcGVuZCgiTWluaW11bSBOdW1iZXIgb2YgVHJpcHMgPSAiICsgcmVzdWx0ICsgIlxuXG4iKTsKICAgICAgICAgCiAgICAgICAgIAogICAgICAgICBsaW5lID0gYnIucmVhZExpbmUoKTsKICAgICAgICAgCiAgICAgICAgIHNUb2sgPSBuZXcgU3RyaW5nVG9rZW5pemVyKGxpbmUpOwogICAgICAgICAKICAgICAgICAgbiA9IEludGVnZXIucGFyc2VJbnQoc1Rvay5uZXh0VG9rZW4oKSk7CiAgICAgICAgIAogICAgICAgICBtID0gSW50ZWdlci5wYXJzZUludChzVG9rLm5leHRUb2tlbigpKTsKICAgICAgfQogICAgICAKICAgICAgCiAgICAgIG91dC53cml0ZShzdHIudG9TdHJpbmcoKSk7CiAgICAgIAogICAgICBvdXQuZmx1c2goKTsKICAgICAgCiAgIH0KfQoKY2xhc3MgVUYKewogICBpbnRbXSBhcnJheTsKICAgaW50W10gc2l6ZXM7CiAgIGludCBjb3VudDsKICAgCiAgIFVGKGludCBuKQogICB7CiAgICAgIGFycmF5ID0gbmV3IGludFtuXTsKICAgICAgc2l6ZXMgPSBuZXcgaW50W25dOwogICAgICBjb3VudCA9IG47CiAgICAgIAogICAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICB7CiAgICAgICAgIGFycmF5W2ldID0gaTsKICAgICAgICAgc2l6ZXNbaV0gPSAxOwogICAgICB9CiAgIH0KICAgCiAgIGludCBzaXplKCkKICAgewogICAgICByZXR1cm4gY291bnQ7CiAgIH0KICAgCiAgIGludCBmaW5kU2V0KGludCBpKQogICB7CiAgICAgIGlmKGFycmF5W2ldID09IGkpCiAgICAgICAgIHJldHVybiBpOwogICAgICBlbHNlCiAgICAgICAgIHJldHVybiBmaW5kU2V0KGFycmF5W2ldKTsKICAgfQogICAKICAgYm9vbGVhbiBzYW1lU2V0KGludCBpLCBpbnQgaikKICAgewogICAgICByZXR1cm4gZmluZFNldChpKSA9PSBmaW5kU2V0KGopOwogICB9CiAgIAogICB2b2lkIHVuaW9uKGludCBpLCBpbnQgaikKICAgewogICAgICBpbnQgYSA9IGZpbmRTZXQoaSk7CiAgICAgIGludCBiID0gZmluZFNldChqKTsKICAgICAgCiAgICAgIGlmKGEgIT0gYikKICAgICAgewogICAgICAgICBpZihzaXplc1thXSA+IHNpemVzW2JdKQogICAgICAgICB7CiAgICAgICAgICAgIGFycmF5W2JdID0gYTsKICAgICAgICAgICAgc2l6ZXNbYV0gKz0gc2l6ZXNbYl07CiAgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAgICB7CiAgICAgICAgICAgIGFycmF5W2FdID0gYjsKICAgICAgICAgICAgc2l6ZXNbYl0gKz0gc2l6ZXNbYV07CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGNvdW50LS07CiAgICAgIH0KICAgfQp9CgpjbGFzcyBUcmlwbGUgaW1wbGVtZW50cyBDb21wYXJhYmxlPFRyaXBsZT4KewogICBpbnQgdzsKICAgaW50IHYxOwogICBpbnQgdjI7CiAgIAogICBUcmlwbGUoaW50IGEsIGludCBiLCBpbnQgYykKICAgewogICAgICB3ID0gYTsKICAgICAgdjEgPSBiOwogICAgICB2MiA9IGM7CiAgIH0KCiAgIEBPdmVycmlkZQogICBwdWJsaWMgaW50IGNvbXBhcmVUbyhUcmlwbGUgdGhhdCkgewogICAgICBpZih0aGlzLncgPiB0aGF0LncpCiAgICAgICAgIHJldHVybiAtMTsKICAgICAgZWxzZSBpZih0aGlzLncgPCB0aGF0LncpCiAgICAgICAgIHJldHVybiAxOwogICAgICBlbHNlCiAgICAgICAgIHJldHVybiAwOwogICB9Cn0K
NyAxMAoxIDIgMzAKMSAzIDE1CjEgNCAxMAoyIDQgMjUKMiA1IDYwCjMgNCA0MAozIDYgMjAKNCA3IDM1CjUgNyAyMAo2IDcgMzAKMSAxIDk5Cgo3IDEwCjEgMiAzMAoxIDMgMTUKMSA0IDEwCjIgNCAyNQoyIDUgNjAKMyA0IDQwCjMgNiAyMAo0IDcgMzUKNSA3IDIwCjYgNyAzMAoxIDEgOTkKMCAw
7 10
1 2 30
1 3 15
1 4 10
2 4 25
2 5 60
3 4 40
3 6 20
4 7 35
5 7 20
6 7 30
1 1 99
7 10
1 2 30
1 3 15
1 4 10
2 4 25
2 5 60
3 4 40
3 6 20
4 7 35
5 7 20
6 7 30
1 1 99
0 0