#include <iostream>
#include <cstdint>
#include <new>
#include <type_traits>
using namespace std;
// Write your struct and placement new logic here
struct SensorPacket {
int id;
int value;
};
int main() {
int index, id, value;
cin >> index >> id >> value;
// Write your pool construction code here
using Storage = std::aligned_storage_t<sizeof(SensorPacket), alignof(SensorPacket)>;
Storage pool[3];
SensorPacket *ptr = new(&pool[index]) SensorPacket{id, value};
cout << ptr->id << " " << ptr->value;
ptr->~SensorPacket();
return 0;
}