Why does my positioning not work

When I set my motor to go 271.2 degrees the motor stops at 72 degrees. I set the starting point of the code to 0 degrees.

using namespace vex;

int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
Arm.setVelocity(50,percent);
FrontLeft.setVelocity(100, percent);
FrontRight.setVelocity(100, percent);
BackLeft.setVelocity(100, percent);
BackRight.setVelocity(100, percent);
Arm.setPosition(0, degrees);
Arm.setStopping(hold);
while(true){
FrontLeft.spin(vex::directionType::fwd, (Controller1.Axis3.value() + Controller1.Axis1.value()), vex::velocityUnits::pct);
BackLeft.spin(vex::directionType::fwd, (Controller1.Axis3.value() + Controller1.Axis1.value()), vex::velocityUnits::pct);
FrontRight.spin(vex::directionType::fwd, (Controller1.Axis3.value() - Controller1.Axis1.value()), vex::velocityUnits::pct);
BackRight.spin(vex::directionType::fwd, (Controller1.Axis3.value() - Controller1.Axis1.value()), vex::velocityUnits::pct);
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1,0);
Brain.Screen.print(Arm.position(degrees));

if(Controller1.ButtonL1.pressing()){
  Arm.setVelocity(50, percent);
  Arm.spinToPosition(271.20, degrees);
  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1,0);
  Brain.Screen.print(Arm.position(degrees));
}
else if(Controller1.ButtonL2.pressing()){  
  Arm.spin(forward, 100, percent);
  Brain.Screen.clearScreen();     
  Brain.Screen.setCursor(1,0);
  Brain.Screen.print(Arm.position(degrees));
}
else {
 
  Arm.stop();

}
}
}