package main

import (
	"fmt"
	"strconv"
	"strings"
)

// stringToInt はstring型のスライスをint型のスライスにキャストする関数
func stringToInt(tSlice []string) (rSlice []int) {
	for _, str := range tSlice {
		num, _ := strconv.Atoi(str)
		rSlice = append(rSlice, num)
	}
	return
}

// removeSlice はint型のスライスの指定した要素番号の要素を削除する関数
func removeSlice(tSlice []int, i int) []int {
	// i未満までのスライスに、iより大きい要素番号のスライスを全部加える
	return append(tSlice[:i], tSlice[i+1:]...)
}

func main() {
	var inputText string
	fmt.Scanf("%s", &inputText)
	var cubes []int = stringToInt(strings.Split(inputText, ""))

	var removedCubes int = 0
	var loopRemove bool = false

	for {
		// 一つ前のキューブ
		// (最初だけスルーさせるために、1個目と同じ値にする)
		var beforeCube int = cubes[0]

		for i := 0; i < len(cubes); i++ {
			if cubes[i] != beforeCube {
				cubes = removeSlice(cubes, i)
				cubes = removeSlice(cubes, i-1)
				removedCubes += 2
				loopRemove = true
				break
			}
			beforeCube = cubes[i]
		}

		// 取り除くキューブがすべてなくなったら強制終了
		if !loopRemove || len(cubes) == 0 {
			break
		}

		loopRemove = false
	}

	fmt.Println(removedCubes)
}
