 
#include<bits/stdc++.h>
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define ll long long int
#define pb push_back
#define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define all(v) v.begin(),v.end()
typedef tree<pair<ll, ll>, null_type, less< pair<ll,ll>>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
const ll mod=(1e+9)+7;
const ll MAX = 5e5+9;
const ll INF = 1e9;
ll power(ll a,ll b,ll m = mod) {ll res = 1;while(b>0){if(b&1)res = (res*a)%m;b = b>>1;a = (a*a)%m;}return res;}

bool prime[10000];
void sieve(ll n)
{
    memset(prime, true, sizeof(prime));
    for(ll i = 2; i*i <= n; i++){
        if(prime[i]){
            for(ll p = i*i; p <= n; p += i)
                prime[p] = false;
        }
    }
    ll cnt = 0;
    for(ll i = 1; i <= n; i++){
        if(prime[i]){
            cnt++;
        }
    }
}

void factors(ll n){
    for(ll i = 1; i*i <= n; i++){
        if(n%i == 0){
            cout<<i<<" ";
            if(n/i != i){
                cout<<n/i<<" ";
            }
        }
    }
    cout<<"\n";
}

vector <ll> G[MAX];
bool vis[MAX];

void dfs(ll v){
    if(vis[v] == true)
        return;
    vis[v] = true;
    for(ll i = 0; i < G[v].size(); i++){
        dfs(G[v][i]);
    }
}

int main()
{
    fastio;
    ll t = 1;
   // cin>>t;
    while(t--)
    {
        ll a,b;
        cin >> a >> b;
        cout << a*b*1.0/100<<"\n";
    }
}


//ordered set is a policy based data structure with 2 extra funcs st.order_of_key(x) (no of elements which are strictly //smaller than x)
//find_by_order(x) returns the iterator corresponding to the xth position {1 based index}  both functions take log(n) time 

#include <iostream>
#include <iomanip>
#include <fstream>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <algorithm>
#include <cmath>
#include <complex>
#include <chrono>

using namespace std;

int main(int argc, const char * argv[]) {

    ios::sync_with_stdio(false);
    cin.tie(0);
    
    int N; cin >> N;
    double x0, y0, xop, yop;
    cin >> x0 >> y0 >> xop >> yop;
    
    double cx = (x0 + xop) / 2., cy = (y0 + yop) / 2.;
    double vx = x0 - cx, vy = y0 - cy;
    double x1 = cx + cos(2. * M_PI / N) * vx - sin(2. * M_PI / N) * vy;
    double y1 = cy + sin(2. * M_PI / N) * vx + cos(2. * M_PI / N) * vy;
    
    printf("%.10f %.10f\n", x1, y1);
    
    
    return 0;
    
}

