lplphphrhphphrlphphplrhlphspplpplppppppsppppppstrtrrhlhpsphspthtspsrpthpllhcsppppthlspspptptrlprphppsrrtpssprlptphppprlttpspssltptpptpltptpptpstssppptpttpppptpttpspssptptprtplpptptspsppsptptpptpptrtppspstpsppttrhrlphpsptshshpplhlslstthphhhtspsphthstshtshshhphhhshsstshhlhhhshlslsrhphssphhlsslpshptrlpsshstphpthspthhsccsp