#include <bits/stdc++.h>

namespace IO
{
char gc()
{
#ifdef FREAD
	static char buf[1<<21], *P1 = buf, *P2 = buf;
	if(P1 == P2)
	{
		P1 = buf;
		P2 = buf + fread(buf, 1, 1<<21, stdin);
		if(P1 == P2) return EOF;
	}
	return *(P1++);
#else
	return getchar();
#endif
}
template<typename Tp> bool get1(Tp &x)
{
	bool neg = 0;
	char c = gc();
	while( c != EOF && (c < '0' || c > '9') && c != '-' ) c = gc();
	if(c == '-') c = gc(), neg = 1;
	if(c == EOF) return false;
	x = 0;
	for(; c>='0' && c<='9'; c = gc()) x = x*10 + c - '0';
	if(neg) x = -x;
	return true;
}
template<typename Tp> void printendl(Tp x)
{
	if(x<0)putchar('-'),x=-x;
	static short a[40], sz;
	sz = 0;
	while(x>0)a[sz++]=x%10,x/=10;
	if(sz==0)putchar('0');
	for(int i=sz-1; i>=0; i--)putchar('0'+a[i]);
	puts("");
}
} // namespace IO
using IO::get1;
using IO::printendl;
#define get2(x,y) get1(x) && get1(y)
#define get3(x,y,z) get2(x,y) && get1(z)
#define get4(x,y,z,w) get3(x,y,z) && get1(w)
#define pb push_back
#define mp std::make_pair
#define ff first
#define ss second
typedef long long LL;
typedef unsigned long long uLL;
typedef std::pair<int,int> pii;
const int inf = 0x3f3f3f3f;
const LL Linf = 1ll<<61;

const int maxn = 200111;
typedef long double db;

LL a[maxn], c[maxn], P[maxn];
int n, b[maxn], stk[maxn], top;

bool check(int x, int y, int z) { return (P[y] - P[x]) * (z - x) < (P[z] - P[x]) * (y - x); }

int main()
{
	get1(n);
	for(int i=1; i<=n; i++) get1(a[i]);
	for(int i=1; i<=n; i++) get1(b[i]);
	int mx = std::max_element(a + 1, a + n + 1) - a;
	std::rotate(a + 1, a + mx, a + n + 1);
	std::rotate(b + 1, b + mx, b + n + 1);
	
	a[n + 1] = a[1];
	b[1] = 0;
	n++;
	
	for(int i=1; i<=n; i++) c[i] = c[i-1] + b[i-1];
	for(int i=1; i<=n; i++) c[i] += c[i-1];
	for(int i=1; i<=n; i++) c[i] <<= 1;
	
	for(int i=1; i<=n; i++)
	{
		P[i] = a[i] - c[i];
		while(top > 1 && check(stk[top-1], stk[top], i)) top--;
		stk[++top] = i;
	}
	
	db ans = 0;
	for(int i=1; i<n; i++) ans += c[i];
	for(int i=1; i<top; i++)
	{
		ans += (db)(P[stk[i]] + P[stk[i+1]]) * (stk[i+1] - stk[i] + 1) / 2;
		ans -= P[stk[i+1]];
	}
	ans /= (n - 1);
	printf("%.10Lf\n", ans);
	return 0;
}