یک جایگشت از اعداد 1, 2, \dots, n در یک پشتهStack) ) به نام S به شما داده شده است. شما میخواهید با استفاده از مقداری حافظهی کمکی این جایگشت را برعکس کرده و دوباره درون S قرار دهید. یعنی در پایان کار باید وارون جایگشت در S قرار گیرد. در هر عمل تنها میتوان یک عنصر را از یک دادهساختار Pop کرد و به یک دادهساختار دیگر Push کرد. در هر کدام از حالات زیر امکان انجام این کار را بررسی کنید و گفتهی خود را اثبات نمایید.