___                         ___           ___     
     /\  \         _____         /\  \         /\  \    
    /::\  \       /::\  \       /::\  \       |::\  \   
   /:/\:\  \     /:/\:\  \     /:/\:\  \      |:|:\  \  
  /:/ /::\  \   /:/  \:\__\   /:/ /::\  \   __|:|\:\  \ 
 /:/_/:/\:\__\ /:/__/ \:|__| /:/_/:/\:\__\ /::::|_\:\__\
 \:\/:/  \/__/ \:\  \ /:/  / \:\/:/  \/__/ \:\~~\  \/__/
  \::/__/       \:\  /:/  /   \::/__/       \:\  \      
   \:\  \        \:\/:/  /     \:\  \        \:\  \     
    \:\__\        \::/  /       \:\__\        \:\__\    
     \/__/         \/__/         \/__/         \/__/    
      ___           ___                         ___     
     /\  \         /\  \         _____         /\__\    
    /::\  \       /::\  \       /::\  \       /:/ _/_   
   /:/\:\__\     /:/\:\  \     /:/\:\  \     /:/ /\__\  
  /:/ /:/  /    /:/  \:\  \   /:/ /::\__\   /:/ /:/ _/_ 
 /:/_/:/__/___ /:/__/ \:\__\ /:/_/:/\:|__| /:/_/:/ /\__\
 \:\/:::::/  / \:\  \ /:/  / \:\/:/ /:/  / \:\/:/ /:/  /
  \::/~~/~~~~   \:\  /:/  /   \::/_/:/  /   \::/_/:/  / 
   \:\~~\        \:\/:/  /     \:\/:/  /     \:\/:/  /  
    \:\__\        \::/  /       \::/  /       \::/  /   
     \/__/         \/__/         \/__/         \/__/    
      ___           ___           ___                               
     /\__\         /\__\         /\  \                              
    /::|  |       /::|  |       /::\  \                     ___     
   /:/:|  |      /:/:|  |      /:/\:\  \                   /\__\    
  /:/|:|  |__   /:/|:|  |__   /:/  \:\  \   ___     ___   /:/__/    
 /:/ |:| /\__\ /:/ |:| /\__\ /:/__/ \:\__\ /\  \   /\__\ /::\  \    
 \/__|:|/:/  / \/__|:|/:/  / \:\  \ /:/  / \:\  \ /:/  / \/\:\  \__ 
     |:/:/  /      |:/:/  /   \:\  /:/  /   \:\  /:/  /   ~~\:\/\__\
     |::/  /       |::/  /     \:\/:/  /     \:\/:/  /       \::/  /
     |:/  /        |:/  /       \::/  /       \::/  /        /:/  / 
     |/__/         |/__/         \/__/         \/__/         \/__/  

///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
Adam Robezzoli ////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////