The following procedure is executed on dictionary `D = {'A': 10, 'B': 25, 'C': 30, 'D': 40, 'E': 18}`. What is the final value of `val`?
```
val = 0
keysList = keys(D)
foreach k in keysList{
if(D[k] % 10 == 0){
val = val + D[k]
D[k] = D[k] / 2
}
else{
val = val - D[k]
D[k] = D[k] + 5
}
if(D[k] > 10){
val = val + 10
}
else{
val = val - 5
}
}
```