Кмк, проблема в последних двух else if (list contains O), но не понимаю, почему не работает