let n = stdin.ReadLine() |> int
let caps = stdin.ReadLine().Split() |> Array.map int

// 正しいかぶせ方は{a;b;c;a;b;c;a;...}なる集合である
caps |> Seq.countBy (fun x -> x) |>Seq.toArray 
|> function
| [|(ax,ai);(bx,bi);(cx,ci)|] when ([ai;bi;ci]|>List.max) - ([ai;bi;ci]|>List.min) = 0 -> 
    "Yes"
| _ -> "No"
|> stdout.WriteLine