semi
By @Nam-gyu