fun main(args: Array<String>) {
    readLine()
    val vs = readLine()!!.split(' ').map { it.toInt() }
    val map1 = mutableMapOf<Int, Int>()
    val map2 = mutableMapOf<Int, Int>()

    vs.forEachIndexed { i, v ->
        if (i % 2 == 0) {
            map1[v] = map1.getOrPut(v) { 0 }.plus(1)
        } else {
            map2[v] = map2.getOrPut(v) { 0 }.plus(1)
        }
    }

    val sorted1 = map1.toList().sortedByDescending { pair -> pair.second }.plus(Pair(0, 0))
    val sorted2 = map2.toList().sortedByDescending { pair -> pair.second }.plus(Pair(0, 0))

    if (sorted1[0].first != sorted2[0].first) {
        val r = map1.values.sum() - sorted1[0].second + map2.values.sum() - sorted2[0].second
        println(r)
        return
    }

    val r1 = map1.values.sum() - sorted1[0].second + map2.values.sum() - sorted2[1].second
    val r2 = map1.values.sum() - sorted1[1].second + map2.values.sum() - sorted2[0].second
    println(Math.min(r1, r2))
}