using System; using System.Linq; using System.Collections.Generic; class Program { static int winCount = 0; static int winConparison = 0; static double standard = 0; static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); var aList = Console.ReadLine().Split(' ').Select(c => int.Parse(c)).ToList(); var bList = Console.ReadLine().Split(' ').Select(c => int.Parse(c)).ToList(); standard = n / 2.0; int patternNum = 1; for(int i = n;i > 0;i--) { patternNum *= i; } winCheck(aList,bList); Console.WriteLine((double)winCount / patternNum); Console.WriteLine($"{winCount},{patternNum},{winConparison},{standard}"); } static void winCheck(List aL,List bL) { int tempConparison = winConparison; for(int i = 0;i < bL.Count;i++) { var tempA = new List(aL); var tempB = new List(bL); if(tempA[0] > tempB[i]) { Console.WriteLine($"{tempA[0]},{tempB[i]}"); Console.WriteLine($"wc {winConparison}"); winConparison++; } tempA.RemoveAt(0); tempB.RemoveAt(i); if(tempB.Count == 0) { if(winConparison > standard) { Console.WriteLine(winConparison); winCount++; } break; } winCheck(tempA,tempB); winConparison = tempConparison; } } }