CF960D Full Binary Tree Queries

Description

You have a full binary tree having infinite levels. Each node has an initial value. If a node has value $ x $ , then its left child has value $ 2·x $ and its right child has value $ 2·x+1 $ . The value of the root is $ 1 $ . You need to answer $ Q $ queries. There are $ 3 $ types of queries: 1. Cyclically shift the values of all nodes on the same level as node with value $ X $ by $ K $ units. (The values/nodes of any other level are not affected). 2. Cyclically shift the nodes on the same level as node with value $ X $ by $ K $ units. (The subtrees of these nodes will move along with them). 3. Print the value of every node encountered on the simple path from the node with value $ X $ to the root. Positive $ K $ implies right cyclic shift and negative $ K $ implies left cyclic shift. It is guaranteed that atleast one type $ 3 $ query is present.

Input Format

The first line contains a single integer $ Q $ ( $ 1

Output Format

For each query of type $ 3 $ , print the values of all nodes encountered in descending order.

Explanation/Hint

Following are the images of the first $ 4 $ levels of the tree in the first test case: Original: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF960D/3753965d34e08b83256fa92db7096f66de1db941.png) After query 1 2 1: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF960D/d6350f6795afab08bec95128db23af58d71e24a4.png) After query 2 4 -1: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF960D/1c7af7fd089110021fd920d50be3656fe800bbdb.png)