*********************************************************************************************************
code link: https://onlinegdb.com/HJFzf74YV
*********************************************************************************************************