Ti consiglio di separare la parte in cui ricevi i valori dalla parte in cui li ordini.
Potresti anche utilizzare una funzione esterna,così è difficile capire cosa sbagli.