← Home
```go
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReaderSize(os.Stdin, 1<<20)
	var s string
	fmt.Fscan(in, &s)
	n := len(s)
	if n == 0 {
		fmt.Print("IMPOSSIBLE")
		return
	}
	need := n / 2
	cnt := [3]int{}
	for i := 0; i < n; i++ {
		cnt[s[i]-'a']++
	}
	best := 0
	for i := 1; i < 3; i++ {
		if cnt[i] > cnt[best] {
			best = i
		}
	}
	if cnt[best] < need {
		fmt.Print("IMPOSSIBLE")
		return
	}
	b := make([]byte, 0, need)
	ch := byte('a' + best)
	for i := 0; i < n && len(b) < need; i++ {
		if s[i] == ch {
			b = append(b, ch)
		}
	}
	fmt.Print(string(b))
}
```