Can I drive 3 stepper motors in the same time?

Can I drive 3 stepper motors in the same time with an Arduino Uno (Atmega328p) programmed with Arduino IDE, Stepper.h library?

I have three stepper motors that have to move each a different number of steps:
StepperX 50 steps
StepperY 80
StepperZ 130

What I want to do is to determine all three move 50 steps in the same time, then StepperX stops, StepperY and Z continue for another 30 steps, after which only StepperZ moves alone for the last 50 steps?

Is it possible?

int totalSteps = max(stepsX, stepsY, stepsZ);
for (int i =0; i< totalSteps; i++) {
    if (i<stepsX)
        StepperX.step(1);
    if (i<stepsY)
        StepperY.step(1);
    if (i<stepsZ)
        StepperZ.step(1);
}

It works. Thank you.

Now, if I have negative steps, if I want to drive the stepper motors in reverse what do I have to do?

subway:
It works. Thank you.

Now, if I have negative steps, if I want to drive the stepper motors in reverse what do I have to do?

#define absolute(x) (x>=0?x:-x)
#define sign(x) (x<0?-1:1)
int totalSteps = max(absolute(stepsX), absolute(stepsY), absolute(stepsZ));
for (int i =0; i< totalSteps; i++) {
    if (i<stepsX)
        StepperX.step(sign(stepsX));
    if (i<stepsY)
        StepperY.step(sign(stepsY));
    if (i<stepsZ)
        StepperZ.step(sign(stepsZ));
}