a3-algorithmique-avancee/.ipynb_checkpoints/Projet_algo-checkpoint.ipynb
2023-06-07 16:50:05 +02:00

300 KiB

Projet algorithme

Contexte du projet:

L'ADEME a lancé un appel à manifestation d'intérêt pour développer des solutions de mobilité adaptées à différents territoires. CesiCDP, en collaboration avec des partenaires, s'est spécialisé dans la Mobilité Multimodale Intelligente. Dans le cadre de cet appel, l'équipe de CesiCDP travaille sur la gestion de tournées de livraison pour minimiser les trajets et optimiser l'efficacité. L'objectif est d'obtenir de nouveaux marchés et des financements pour poursuivre le développement de l'entreprise. Des contraintes supplémentaires seront ajoutées pour rendre le problème plus réaliste et intéressant pour l'ADEME.

Notre but est de réaliser un algorithme permettant de passer par tous les points de livraisons avec un temps optimisé.

Contrainte :

Les contraintes que nous avons choisi sont les suivantes:

  • Avoir plusieurs camions disponible simultanément pour effectuer les livraisons.
  • Fenêtre de temps de livraison pour chaque object

Formulation du problème

Le problème que nous avons avec les contraintes ci-dessus est le problème VRPTW (Vehicule Routing Problem avec la contrainte supplémentaire de Time Window).

  • Tous les clients doivent être déservis
  • Un client ne peut être servi que par un et un seul véhicule.
  • En quittant un client, un véhicule peut aller que vers un seul autre client.
  • Un véhicule ne peut servir un client que s'il a assez de capacité pour servir le client.

On va donc affecter chaque client à une tournée effectué par un seul véhicule.

e.

Objectifs

L'objectif de notre algorithme est de calculer et de fournir les meilleurs itinéraires pour pouvoir livrer tout les clients avec le nombre de camion disponible.

Il est possible de minimiser le nombre de camion nécessaire en optimisant les trajets et leurs temps. Il faut donc pour cela minimiser le temps de chaque parcours.

Modélisation mathématique

Nous allons représenter notre problème par un graphe
$G=(V,E)$

$V$ représente les sommets du graphe qui correspondent aux clients

$E$ représente les arcs entre deux clients $i,j \in V$

On a un ensemble $C=\{1,2,...,n_c\}$ de clients qui doivent obtenir leur livraison qui provient du dépot.

L'ensemble des emplacements des clients est défini comme : $V = C \cup \{0, n_c+1\} $

$0$ et $n_c+1$ représente le dépot, puisqu'on doit revenir au point de départ le dépots est le dernier client plus un.

On a un ensemble $V=\{1,2,...,n_v\}$ de véhicule disponible et chaque véhicule possède une capacité $Q$.

Variables de décisions:

Variables de décision:

  • Un ensemble de k véhicule

Initialisation de la matrice

In [72]:
import random
import networkx as nx
import matplotlib.pyplot as plt
import numpy as np

def generate_graph(num_nodes):
    # Créer un graphe vide
    G = nx.Graph()
    # Ajouter les sommets au graphe
    G.add_nodes_from(range(1, num_nodes + 1))
    # Ajouter au moins deux arêtes par sommet
    for node in G.nodes():
        connected_nodes = sorted(set(G.nodes()) - {node})  # Exclure le sommet lui-même et trier les nœuds
        distance1 = random.randint(1,10) 
        distance2 = random.randint(1,10)
        random_nodes = random.sample(connected_nodes, 2)
        G.add_edges_from([(node, random_nodes[0], {'distance': distance1}), 
                          (node, random_nodes[1], {'distance': distance2})])
    # Ajouter des arêtes supplémentaires de manière aléatoire
    while not nx.is_connected(G):
        node1, node2 = random.sample(G.nodes(), 2)
        if not G.has_edge(node1, node2):
            distance = random.randint(1,10)
            G.add_edge(node1, node2, distance=distance)
    return G

graph = generate_graph(100)
A = nx.adjacency_matrix(graph).todense()


    


print(A)

# Dessiner le graphe
nx.draw(graph, with_labels=True)
plt.show()
[[0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 1]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 1 0 0]]
No description has been provided for this image

Définition des données du problème VRPTW

In [73]:
#k Nombre de camion disponible
k = 4

#Q capacité de marchandise de chaque camion
Q = 10

# Implémentez les étapes 1 à 6 de l'algorithme ACO ici

# 1. Définir les données du problème VRPTW
# Votre code pour attribuer les demandes et les fenêtres de temps aux clients
# Attribuer des fenêtres de temps aux clients
def assign_time_windows(graph):
    # Créer un dictionnaire pour stocker les fenêtres de temps des clients
    time_windows = {}

    # Définir la fenêtre de temps pour le dépôt central (nœud 0)
    time_windows[0] = (0, float('inf'))

    # Assigner une fenêtre de temps à chaque client
    for node in graph.nodes():
        if node !=0 and node !=100 :
            # Générer une fenêtre de temps aléatoire pour chaque client
            start_time = random.randint(0, 100)
            end_time = start_time + random.randint(10, 50)
            time_windows[node] = (start_time, end_time)

    return time_windows

# Attribuer les fenêtres de temps aux clients
time_windows = assign_time_windows(graph)

print(max(graph.nodes()))
# Afficher les fenêtres de temps assignées
for node, window in time_windows.items():
    print("Client", node, ":", window)
    

    



# 3. Initialiser la matrice de phéromones
# Votre code pour initialiser la matrice de phéromones

# 4. Implémenter la fonction de construction de la solution par une fourmi
# V
100
Client 0 : (0, inf)
Client 0 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 1 : (88, 128)
Client 1 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 2 : (5, 31)
Client 2 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 3 : (73, 107)
Client 3 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 4 : (81, 97)
Client 4 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 5 : (33, 75)
Client 5 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 6 : (87, 98)
Client 6 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 7 : (37, 56)
Client 7 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 8 : (26, 49)
Client 8 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 9 : (31, 78)
Client 9 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 10 : (21, 59)
Client 10 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 11 : (68, 91)
Client 11 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 12 : (24, 49)
Client 12 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 13 : (60, 83)
Client 13 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 14 : (6, 53)
Client 14 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 15 : (93, 128)
Client 15 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 16 : (55, 81)
Client 16 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 17 : (99, 128)
Client 17 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 18 : (31, 49)
Client 18 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 19 : (49, 97)
Client 19 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 20 : (94, 104)
Client 20 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 21 : (99, 113)
Client 21 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 22 : (52, 94)
Client 22 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 23 : (85, 97)
Client 23 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 24 : (35, 61)
Client 24 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 25 : (29, 56)
Client 25 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 26 : (33, 78)
Client 26 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 27 : (54, 66)
Client 27 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 28 : (92, 128)
Client 28 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 29 : (46, 85)
Client 29 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 30 : (15, 44)
Client 30 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 31 : (63, 91)
Client 31 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 32 : (94, 123)
Client 32 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 33 : (36, 80)
Client 33 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 34 : (97, 122)
Client 34 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 35 : (40, 76)
Client 35 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 36 : (69, 96)
Client 36 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 37 : (30, 67)
Client 37 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 38 : (21, 64)
Client 38 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 39 : (22, 41)
Client 39 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 40 : (11, 51)
Client 40 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 41 : (74, 94)
Client 41 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 42 : (53, 101)
Client 42 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 43 : (22, 41)
Client 43 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 44 : (15, 40)
Client 44 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 45 : (58, 76)
Client 45 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 46 : (6, 41)
Client 46 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 47 : (12, 27)
Client 47 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 48 : (59, 91)
Client 48 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 49 : (98, 109)
Client 49 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 50 : (53, 94)
Client 50 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 51 : (73, 100)
Client 51 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 52 : (26, 45)
Client 52 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 53 : (8, 24)
Client 53 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 54 : (46, 72)
Client 54 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 55 : (94, 111)
Client 55 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 56 : (2, 27)
Client 56 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 57 : (40, 59)
Client 57 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 58 : (26, 37)
Client 58 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 59 : (94, 114)
Client 59 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 60 : (50, 74)
Client 60 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 61 : (60, 96)
Client 61 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 62 : (1, 28)
Client 62 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 63 : (96, 123)
Client 63 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 64 : (59, 98)
Client 64 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 65 : (54, 94)
Client 65 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 66 : (0, 10)
Client 66 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 67 : (62, 105)
Client 67 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 68 : (97, 126)
Client 68 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 69 : (86, 132)
Client 69 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 70 : (2, 22)
Client 70 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 71 : (93, 118)
Client 71 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 72 : (75, 116)
Client 72 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 73 : (74, 98)
Client 73 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 74 : (89, 129)
Client 74 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 75 : (53, 83)
Client 75 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 76 : (39, 77)
Client 76 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 77 : (88, 111)
Client 77 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 78 : (62, 100)
Client 78 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 79 : (27, 66)
Client 79 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 80 : (27, 73)
Client 80 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 81 : (60, 98)
Client 81 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 82 : (52, 77)
Client 82 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 83 : (24, 63)
Client 83 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 84 : (95, 110)
Client 84 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 85 : (81, 118)
Client 85 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 86 : (78, 113)
Client 86 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 87 : (58, 105)
Client 87 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 88 : (31, 61)
Client 88 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 89 : (6, 47)
Client 89 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 90 : (79, 89)
Client 90 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 91 : (54, 94)
Client 91 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 92 : (34, 55)
Client 92 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 93 : (58, 103)
Client 93 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 94 : (57, 79)
Client 94 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 95 : (70, 114)
Client 95 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 96 : (75, 86)
Client 96 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 97 : (13, 38)
Client 97 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 98 : (61, 108)
Client 98 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}
Client 99 : (96, 108)
Client 99 : {1: 5, 2: 10, 3: 3, 4: 7, 5: 3, 6: 5, 7: 9, 8: 1, 9: 10, 10: 3, 11: 9, 12: 6, 13: 5, 14: 10, 15: 1, 16: 7, 17: 9, 18: 8, 19: 10, 20: 9, 21: 3, 22: 10, 23: 6, 24: 3, 25: 9, 26: 9, 27: 10, 28: 8, 29: 3, 30: 10, 31: 6, 32: 2, 33: 3, 34: 6, 35: 10, 36: 4, 37: 10, 38: 9, 39: 10, 40: 2, 41: 5, 42: 4, 43: 3, 44: 6, 45: 5, 46: 10, 47: 3, 48: 9, 49: 5, 50: 1, 51: 7, 52: 2, 53: 5, 54: 7, 55: 4, 56: 4, 57: 4, 58: 9, 59: 8, 60: 4, 61: 10, 62: 9, 63: 6, 64: 1, 65: 6, 66: 9, 67: 10, 68: 4, 69: 2, 70: 4, 71: 2, 72: 3, 73: 9, 74: 3, 75: 1, 76: 8, 77: 10, 78: 9, 79: 2, 80: 4, 81: 1, 82: 4, 83: 9, 84: 10, 85: 3, 86: 1, 87: 3, 88: 8, 89: 8, 90: 9, 91: 8, 92: 8, 93: 6, 94: 5, 95: 9, 96: 8, 97: 6, 98: 3, 99: 10, 100: 5}

Définition de l'algorithme des fourmis

In [69]:
# 2. Définir les paramètres de l'algorithme ACO
num_ants = 10  # Nombre de fourmis
num_iterations = 100  # Nombre d'itérations

# 3. Initialiser la matrice de phéromones
pheromones = 0.1 * np.ones((num_nodes, num_nodes))  # Matrice de phéromones initiale

# 4. Implémenter la fonction de construction de la solution par une fourmi
def construct_solution(pheromones, visibility, demands, time_windows):
    solutions = []
    costs = []
    for ant in range(num_ants):
        current_node = 0  # Dépôt central
        unvisited_nodes = set(range(1, num_nodes))  # Tous les clients non visités
        path = [current_node]
        current_time = 0
        current_capacity = Q

        # Construction du chemin de la fourmi
        while unvisited_nodes:
            feasible_nodes = []
            feasible_probabilities = []
            for next_node in unvisited_nodes:
                if current_node != 0 and next_node != 0 and 'distance' in graph.edges[current_node, next_node]:
                    if current_time + graph.edges[current_node, next_node]['distance'] <= time_windows[next_node][1] and \
                            current_capacity >= demands[next_node]:
                        feasible_nodes.append(next_node)
                        probability = pheromones[current_node][next_node] ** pheromone_importance \
                                      * visibility[current_node][next_node] ** distance_importance
                        feasible_probabilities.append(probability)
            if feasible_nodes:
                feasible_probabilities = np.array(feasible_probabilities)
                feasible_probabilities /= np.sum(feasible_probabilities)
                next_node = random.choices(feasible_nodes, weights=feasible_probabilities)[0]
                current_node = next_node
                path.append(next_node)
                unvisited_nodes.remove(next_node)
                current_time += graph.edges[current_node, next_node]['distance']
                current_capacity -= demands[next_node]
            else:
                break

        # Ajout du retour au dépôt central
        path.append(0)

        # Calcul du coût du chemin
        cost = sum(A[path[i]][path[i + 1]] for i in range(len(path) - 1))

        solutions.append(path)
        costs.append(cost)

    return solutions, costs

# 5. Mettre à jour les phéromones
def update_pheromones(pheromones, solutions, costs):
    for solution, cost in zip(solutions, costs):
        for i in range(len(solution) - 1):
            current_node = solution[i]
            next_node = solution[i + 1]
            if cost != 0:
                pheromones[current_node][next_node] += 1 / cost
    return pheromones

# 6. Répéter les étapes 4 et 5 pour un nombre donné d'itérations
best_solution = None
best_cost = float('inf')

for iteration in range(num_iterations):
    # Construction des solutions par les fourmis
    solutions, costs = construct_solution(pheromones, visibility, demands, time_windows)

    # Mise à jour des phéromones
    pheromones = update_pheromones(pheromones, solutions, costs)

    # Recherche de la meilleure solution
    best_index = np.argmin(costs)
    if costs[best_index] < best_cost:
        best_solution = solutions[best_index]
        best_cost = costs[best_index]

# Affichage de la meilleure solution trouvée
print("Meilleure solution :", best_solution)
print("Coût de la meilleure solution :", best_cost)
Meilleure solution : [0, 0]
Coût de la meilleure solution : 0
In [ ]:
import random
import numpy as np

# Fonction d'évaluation de la qualité d'une solution (ici, la distance totale)
def evaluate_solution(solution, distances):
    total_distance = 0
    num_nodes = len(solution)

    for i in range(num_nodes - 1):
        current_node = solution[i]
        next_node = solution[i + 1]
        total_distance += distances[current_node][next_node]

    # Ajouter la distance de retour au dépôt
    total_distance += distances[solution[-1]][solution[0]]

    return total_distance

    
# Algorithme ACO
def ant_colony_optimization(distances, num_ants, num_iterations, evaporation_rate, alpha, beta):
    num_nodes = len(distances)
    pheromone = np.ones((num_nodes, num_nodes))  # Matrice de phéromones initiale
    best_solution = None
    best_distance = float('inf')

    for iteration in range(num_iterations):
        # Construction de solutions par les fourmis
        solutions = []

        for ant in range(num_ants):
            visited = set()
            current_node = random.randint(0, num_nodes - 1)
            visited.add(current_node)
            solution = [current_node]

            while len(visited) < num_nodes:
                next_node = None
                probabilities = []

                # Calcul des probabilités de choisir chaque prochain nœud
                for node in range(num_nodes):
                    if node not in visited:
                        pheromone_value = pheromone[current_node][node]
                        distance_value = distances[current_node][node]
                        probability = (pheromone_value ** alpha) * ((1 / distance_value) ** beta)
                        probabilities.append((node, probability))

                total_probability = sum(prob for _, prob in probabilities)
                probabilities = [(node, prob / total_probability) for node, prob in probabilities]

                # Choix du prochain nœud basé sur les probabilités
                roulette_wheel = random.random()
                probability_sum = 0

                for node, probability in probabilities:
                    probability_sum += probability
                    if probability_sum >= roulette_wheel:
                        next_node = node
                        break

                visited.add(next_node)
                solution.append(next_node)
                current_node = next_node

            solutions.append(solution)

        # Évaluation des solutions et mise à jour de la meilleure solution
        for solution in solutions:
            distance = evaluate_solution(solution, distances)
            if distance < best_distance:
                best_solution = solution
                best_distance = distance

        # Mise à jour des phéromones
        pheromone *= evaporation_rate  # Évaporation des phéromones existantes

        for solution in solutions:
            delta_pheromone = 1 / evaluate_solution(solution, distances)
            for i in range(num_nodes - 1):
                node1 = solution[i]
                node2 = solution[i + 1]
                pheromone[node1][node2] += delta_pheromone
                pheromone[node2][node1] += delta_pheromone

    return best_solution, best_distance

# Exemple d'utilisation
distances = [[0, 2, 9, 10],
             [2, 0, 6, 4],
             [9, 6, 0, 8],
             [10, 4, 8, 0]]

num_ants = 10
num_iterations = 100
evaporation_rate = 0.5
alpha = 1
beta = 1

best_solution, best_distance = ant_colony_optimization(distances, num_ants, num_iterations, evaporation_rate, alpha, beta)

print("Meilleure solution :", best_solution)
print("Distance totale :", best_distance)