using System.Collections.Generic;
public static void Main() {
IDictionary<String, int> DEDUCTIONCYCLEPERIODS = new Dictionary<String, int>();
IDictionary<int, String> DEDUCTIONCYCLEVALUES = new Dictionary<int, String>();
String DEDUCTIONCYCLE_EMPLOYEE_PAYCYCLE = "Employee Pay Cycle";
String[] DEDUCTIONCYCLES = { };
DEDUCTIONCYCLEPERIODS.Add(DEDUCTIONCYCLE_EMPLOYEE_PAYCYCLE, -1);
DEDUCTIONCYCLEPERIODS.Add("Annually", 1);
DEDUCTIONCYCLEPERIODS.Add("Monthly", 12);
DEDUCTIONCYCLEPERIODS.Add("Semi-Monthly", 24);
DEDUCTIONCYCLEPERIODS.Add("Bi-Weekly", 26);
DEDUCTIONCYCLEPERIODS.Add("Weekly", 52);
var list = DEDUCTIONCYCLEPERIODS
.OrderBy(d => d.Value == -1 ? 1 : 2)
.ThenByDescending(p => p.Value)
for (var i = 1; i <= 52; i++) {
if (!DEDUCTIONCYCLEPERIODS.Values.Contains(i)) {
var name = i + " Deductions";
DEDUCTIONCYCLEPERIODS.Add(name, i);
DEDUCTIONCYCLES = list.ToArray();
DEDUCTIONCYCLEVALUES = DEDUCTIONCYCLEPERIODS.ToDictionary(p => p.Value, p => p.Key);
Console.WriteLine(DEDUCTIONCYCLES[1]);