Outcome-Constrained Large Language Models for Countering Hate Speech