The following pseudocode is executed using the dataset given. At the end of execution, `A`, `B`, `C` and `D` capture the number of pairs of users who have the same grade, reside in the same area but have different `YearOfRegistration`. Choose the correct code fragment to complete the pseudocode.
```
A = 0, B = 0, C = 0, D = 0
while(Table 1 has more rows){
Read the first row X in Table 1
if(X.Units < 200){
Move X to Table 2
}
if(X.Units >= 200 and X.Units <= 350){
Move X to Table 3
}
if(X.Units > 350 and X.Units <= 550){
Move X to Table 4
}
if(X.Units > 550){
Move X to Table 5
}
}
A = findPair(Table 2)
B = findPair(Table 3)
C = findPair(Table 4)
D = findPair(Table 5)
Procedure findPair(Table T)
C = 0
while(Table T has more rows){
Read the first row X in Table T
Move X to Table T1
while(Table T has more rows){
Read the first row Y in Table T
Move Y to Table T2
******** Statement 1 ********
}
Move all rows from Table T2 to Table T
}
return(C)
End findPair
```