Sachverhalt: Sachverhalt: A. Der 1941 geborene D._ arbeitete ab 1. Februar 2002 als Account Manager in der Firma X._ AG. Gemäss Arbeitsvertrag vom 17. Januar 2002 belief sich der Jahresbruttolohn auf Fr. 130'000.- (13 x Fr. 10'000.-) bei einer Arbeitszeit von 40 Stunden pro Woche. Die Kündigungsfrist betrug zwei Monate. Mit schriftlicher Vereinbarung vom 28. Februar 2003 änderten die Parteien den Arbeitsvertrag vom 17. Januar 2002 ab. Neu sollte ab 1. März 2003 der Jahreslohn Fr. 52'000.- (13 x Fr. 4000.-) betragen. Alle weiteren Bestandteile des Vertrages mit Ausnahme der Bonus- und Spesenregelung sollten unverändert bestehen bleiben. Am 1. März 2003 meldete sich D._ auf dem Regionalen Arbeitsvermittlungszentrum Rapperswil zur Arbeitsvermittlung an und beantragte ab diesem Zeitpunkt Arbeitslosenentschädigung. Mit Verfügung vom 10. Juni 2003 lehnte die Arbeitslosenkasse SYNA das Gesuch mangels einer ganzen oder teilweisen Arbeitslosigkeit ab. Daran hielt die Kasse mit Einspracheentscheid vom 21. Juli 2003 fest. Am 1. März 2003 meldete sich D._ auf dem Regionalen Arbeitsvermittlungszentrum Rapperswil zur Arbeitsvermittlung an und beantragte ab diesem Zeitpunkt Arbeitslosenentschädigung. Mit Verfügung vom 10. Juni 2003 lehnte die Arbeitslosenkasse SYNA das Gesuch mangels einer ganzen oder teilweisen Arbeitslosigkeit ab. Daran hielt die Kasse mit Einspracheentscheid vom 21. Juli 2003 fest. B. Die Beschwerde von D._ wies das Versicherungsgericht des Kantons St. Gallen mit Entscheid vom 22. Oktober 2003 ab. B. Die Beschwerde von D._ wies das Versicherungsgericht des Kantons St. Gallen mit Entscheid vom 22. Oktober 2003 ab. C. D._ führt Verwaltungsgerichtsbeschwerde mit dem Rechtsbegehren, es sei ihm für die Monate März bis Mai 2003 Arbeitslosenentschädigung unter Anrechnung des bei der Firma X._ AG erzielten Zwischenverdienstes zuzusprechen. Die Arbeitslosenkasse SYNA verzichtet auf eine Stellungnahme und einen Antrag zur Verwaltungsgerichtsbeschwerde. Das Staatssekretariat für Wirtschaft reicht keine Vernehmlassung ein.