Sachverhalt: Sachverhalt: A. Das Bezirksgericht Unterrheintal sprach X._ am 23. November 2001 von der Anklage des mehrfachen Gebrauchs gefälschter Ausweise frei, erklärte ihn jedoch der schweren Widerhandlung gegen das Betäubungsmittelgesetz sowie des mehrfachen Fahrens ohne Führerausweis für schuldig. Es verurteilte ihn zu zweieinhalb Jahren Gefängnis und verwies ihn für die Dauer von sieben Jahren aus dem Gebiet der Schweiz. Das Kantonsgericht St. Gallen wies die Berufung von X._ am 20. August 2003 ab, soweit sie sich gegen den Schuldspruch und das Strafmass richtete. In teilweiser Gutheissung der Berufung schob es den Vollzug der Landesverweisung bedingt auf und setzte die Probezeit auf drei Jahre fest. Das Kantonsgericht St. Gallen wies die Berufung von X._ am 20. August 2003 ab, soweit sie sich gegen den Schuldspruch und das Strafmass richtete. In teilweiser Gutheissung der Berufung schob es den Vollzug der Landesverweisung bedingt auf und setzte die Probezeit auf drei Jahre fest. B. X._ erhebt staatsrechtliche Beschwerde mit dem Antrag, es sei der Entscheid des Kantonsgerichts St. Gallen aufzuheben und das Verfahren an die Vorinstanz zurückzuweisen. Er führt gleichzeitig eidgenössische Nichtigkeitsbeschwerde mit dem Rechtsbegehren, den angefochtenen Entscheid aufzuheben und die Sache zur Neubeurteilung an die Vorinstanz zurückzuweisen. Das Kantonsgericht verzichtet auf Gegenbemerkungen zu beiden Beschwerden. Die Staatsanwaltschaft des Kantons St. Gallen beantragt, es sei die staatsrechtliche Beschwerde abzuweisen und auf die Nichtigkeitsbeschwerde nicht einzutreten. Eventuell sei die Nichtigkeitsbeschwerde abzuweisen, soweit auf sie einzutreten sei. Der Präsident des Kassationshofs hat mit Verfügung vom 3. Dezember 2003 beiden Beschwerden die aufschiebende Wirkung zuerkannt. 