namostfgsfgsdfgyjxcgxycgsdzgcydcgugcaugfasgfausgausgausgccgadgcadcgadcgaucgaugcsuadusgdcsgsgcsdgcacugagcaucacgaucguacgacguagcagagaucgaucgaucgaucgagaucgacgdzadzcgacgzgazguzdcgadzucgauzgaudzcgaducgauczduacgadzgcazucgaducgaucgacgaugaucguadadcguaguaacgcazcguacgaucgaucgacgaicgiCscsicacgaducdaucvuacaucaucgacgsudcguxyxzcscscacvscvcvhcvshcvshcvsdhchccvshvcshcvghcvshcvshcvshcvsdcvscvscvsdhcvsdhcvsdhcvshcvhsdvcshcvshcvshcvsdhcvsdcsdcvsdcvscvscvscvsdcvscvscvshgcscvshcvgsdhcvcvdsghcvsdghcsdghvsdsdhghdgdgcvsdcvshgdcvshdgcvhsgcvshgcvhsgcvshgdcvhscvshcvsghdcvsdhgchsgcvshcvshcvsdc