#include <cmath>
#include <unordered_map>
#include <math.h>
#include <vector>
struct point {
double x,y;
};
struct seg{
int start;
int end;
point a;
point b;
};
#include <iostream>
int main(){
int n;
std::cin >> n;
std::unordered_map<int, seg> segments;
std::vector<int> fishers;
for (int i = 0; i<2*n; ++i){
int fisher;
std::cin >> fisher;
if (fisher<0){
segments[-fisher].end = i;
}else {
fishers.push_back(fisher);
segments[fisher].start = i;
}
}
for (int fisher : fishers){
double angle1 = segments[fisher].start * M_PI/n;
double y1 = std::sin(angle1);
double x1 = std::cos(angle1);
double angle2 = segments[fisher].end * M_PI/n;
double y2 = std::sin(angle2);
double x2 = std::cos(angle2);
segments[fisher].a = {x1, y1};
segments[fisher].b = {x2, y2};
}
}
#include <cmath>
#include <unordered_map>
#include <math.h>
#include <vector>
struct point {
double x,y;
};
struct seg{
int start;
int end;
point a;
point b;
};
#include <iostream>
int main(){
int n;
std::cin >> n;
std::unordered_map<int, seg> segments;
std::vector<int> fishers;
for (int i = 0; i<2*n; ++i){
int fisher;
std::cin >> fisher;
if (fisher<0){
segments[-fisher].end = i;
}else {
fishers.push_back(fisher);
segments[fisher].start = i;
}
}
for (int fisher : fishers){
double angle1 = segments[fisher].start * M_PI/n;
double y1 = std::sin(angle1);
double x1 = std::cos(angle1);
double angle2 = segments[fisher].end * M_PI/n;
double y2 = std::sin(angle2);
double x2 = std::cos(angle2);
segments[fisher].a = {x1, y1};
segments[fisher].b = {x2, y2};
}
}