void AddDirected(int x, int y)
{
    node *new_node = new node;
    node *current_node = new node;
    
    new_node->data = y;
    new_node->next = NULL;

    current_node = List[x];
    
    
    if (current_node != NULL && current_node->data != y)
    {
 
        while (current_node->next != NULL && current_node->data != y)
        {
            current_node = current_node->next;
        }
        
        if (current_node->next == NULL)
        {
            if(current_node->data != y)
            {
                current_node->next = new_node;
            }
        }
    }
    
    new_node = NULL;
    delete new_node;
    
    current_node = NULL;
    delete current_node;
}