import java.util.Scanner;

class SensorStorage {
    private int[] data;

    // Constructor: allocate memory
    public SensorStorage(int n) {
        data = new int[n];
    }

    // Insert readings
    public void add(int[] readings) {
        for (int i = 0; i < readings.length; i++) {
            data[i] = readings[i];
        }
    }

    // Display stored readings
    public void show() {
        for (int x : data) {
            System.out.print(x + " ");
        }
    }

    // Destructor simulation
    @Override
    protected void finalize() throws Throwable {
        System.out.println("\nDestructor called: Memory cleaned.");
        super.finalize();
    }
}

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        int[] arr = new int[n];

        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }

        SensorStorage s = new SensorStorage(n);
        s.add(arr);
        s.show();

        s = null;      // object removed
        System.gc();   // request destructor call

        sc.close();
    }
}
