Problem:
Score : 600 points

Problem Statement

Given are two integer sequences of N elements each: A_1,...,A_N and B_1,...,B_N.
Determine if it is possible to do the following operation at most N-2 times (possibly zero) so that, for every integer i from 1 to N, A_i \leq B_i holds:

Choose two distinct integers x and y between 1 and N (inclusive), and swap the values of A_x and A_y.

Constraints

2 \leq N \leq 10^5

1 \leq A_i,B_i \leq 10^9

Input

Input is given from Standard Input in the following format:

N
A_1 A_2 ... A_N
B_1 B_2 ... B_N

Output

If the objective is achievable, print Yes; if it is not, print No.

Sample Input 1

3
1 3 2
1 2 3

Sample Output 1

Yes

We should swap the values of A_2 and A_3.

Sample Input 2

3
1 2 3
2 2 2

Sample Output 2

No

Sample Input 3

6
3 1 2 6 3 4
2 2 8 3 4 3

Sample Output 3

Yes

Solution in Ruby (2.3.3) (judge verdict: Wrong Answer)

n = gets.to_i
as = gets.split.map &:to_i
bs = gets.split.map &:to_i

bs2 = bs.each_with_index.sort

ax = []

bs2.each{ |b|
	ax << as[b[1]]
}

axp = ax.each_with_index.sort.map{|x| x[1]}

is_p = false

axp[1..-1].each_cons(2){ |x|
	if x[0] > x[1] then
		is_p = true
	end
}

count = 0
is_ok = true

as.sort!
bs = bs2.map{ |x| x[0]}

(0...n).each{ |i|
	if as[i] > bs[i] then
		is_ok = false
	end
	
	if i > 0 && as[i] <= bs[i-1] then
		count += 1
	end
}

if is_ok && (count > 0 || is_p) then
	puts 'Yes'
else
	puts 'No'
end