The following pseudocode is executed using the Scores dataset. What will the values of `A` and `B` represent at the end of execution?
```
D = {}
while(Table 1 has more rows){
Read the first row X in Table 1
if(isKey(D, X.Town/City)){
if(D[X.Town/City] > X.Mathematics){
D[X.Town/City] = X.Mathematics
}
}
else{
D[X.Town/City] = X.Mathematics
}
Move X to Table 2
}
A = 0, B = 100
foreach y in keys(D){
if(B == D[y]){
A = A + 1
}
if(B > D[y]){
A = 1
B = D[y]
}
}
```