#include #define left(i) (2*(i)+1) #define right(i) (2*(i)+2) #define parent(i) (((i)-1)/2) #define MAXD 10000000000000.0 #define BASV 70 //start velocity #define MAXN 501 double d[MAXN*MAXN]; int hp[MAXN*MAXN]; //Priority queue implemented as a heap int A[MAXN*MAXN], B; int size; void heapify(int i) { while(1) { int sma = i; if(left(i) < size && d[A[left(i)]] < d[A[sma]]) sma = left(i); if(right(i) < size && d[A[right(i)]] < d[A[sma]]) sma = right(i); if(sma!=i) { B = A[i]; A[i] = A[sma]; hp[A[i]] = i; A[sma] = B; hp[A[sma]] = sma; i = sma; } else break; } } void insert(int node) { int i = size++; while(i>0 && d[node] < d[A[parent(i)]]) { A[i] = A[parent(i)]; hp[A[i]] = i; i = parent(i); } A[i] = node; hp[A[i]] = i; } void decKey(int node) { int i = hp[node]; while(i>0 && d[node] < d[A[parent(i)]]) { A[i] = A[parent(i)]; hp[A[i]] = i; i = parent(i); } A[i] = node; hp[A[i]] = i; } int getMin() { int q = size==0 ? -1 : A[0]; size--; A[0] = A[size]; hp[A[0]] = 0; heapify(0); return q; } void newPrio() { size = 0; } //End of priority queue int a,b,c,e,ant, s,f; int ed[MAXN][MAXN], v[MAXN][MAXN], w[MAXN][MAXN], ae[MAXN]; double nt, min; int ko[MAXN*MAXN], par[MAXN*MAXN]; //new node number = ant * velocity + crossing int tagen[MAXN*MAXN]; int now, next, bra; int cn, cv, cpos, nn, nv, npos; int vis[MAXN]; int main() { scanf("%d %d %d", &ant, &b, &f); for(a=0;a=0;a=par[a]) vis[b++] = a % ant; for(b--;b>=0;b--) printf("%d ", vis[b]); printf("\n"); } return 0; }