# Description
W(e( (h(a(v(e( (t(o( (g(o( (d(e(e(p(e(r)))))))))))))))))))
There is a file to download.
# Solution
If you `file flag`, you will get:`flag: bzip2 compressed data, block size = 400k`
Ok, easy, you just to unzip it to flag1. If you `file flag1`, you will get:`flag1: Zip archive data, at least v2.0 to extract`
At that point, you probably understand the meaning of the description of the challenge. The flag has been multiple times compressed and base64-coded. Too many times to do it manually.
I wrote a simple python script to do it. At each step, it uses `file` to know which transformation to apply: unzip or base64.
```pythonimport osimport subprocess
f = "flag"nb = 0while True:    result = subprocess.run(['file',f+str(nb)], stdout=subprocess.PIPE)    a = str(result.stdout)    print(nb,a)    if "zip" in a or "Zip" in a:        # Unzip using 7z        os.system('7z x -bb '+f+str(nb))        os.system('mv flag '+f+str(nb+1))        os.system('mv '+f+str(nb)+'~ '+f+str(nb+1))        nb += 1    elif "ASCII" in a:        # base64 decode        os.system('cat '+f+str(nb)+' | base64 -d > '+f+str(nb+1))        nb += 1    else:        exit()```
To use this script, rename `flag` into `flag0` and run `python3 script.py`.
There are 500 steps. The flag is in flag500: `MCA{Wh0_Needz_File_Extensions?}`