è un pochino generica come richiesta, nel senso che ci sono librerie già predisposte per questo problema (non so se si possono nominare, meglio di no sennò vengo cazziato).
Altrimenti tocca fare delle gestioni "manuali" davvero complicate (se intendi OGNI risoluzione e non magari ALCUNE o MOLTE risoluzioni)