Consider the following pseudocode. If `numList = [3, -2, 4, -1, 7, -5]`, then what will `categorizeNumbers(numList)` return at the end of execution?
```
Procedure categorizeNumbers(numList)
posList = []
negList = []
foreach n in numList {
if(n >= 0) {
posList = posList ++ [n]
}
else {
negList = negList ++ [n]
}
}
sumpos = 0
foreach p in posList {
sumpos = sumpos + p
}
sumneg = 0
foreach q in negList {
sumneg = sumneg + q
}
if(sumneg < sumpos) {
return(posList)
}
else {
return(negList)
}
End categorizeNumbers
```