var i, a = [], s = readline();
for (i = 0; i < s.length; i++)
	if (s[i] === a[a.length - 1]) a.pop();
	else a.push(s[i]);

print(a.join(''));

const {EOL} = require('os')

let ipt = ''
process.stdin.on('data', s => ipt += s)
process.stdin.on('end', () => {
  let L = ipt.split(EOL).slice(0, -1)[0]
  let l = []
  for (let i = 0; i < L.length; i++) {
    while (L[i] == l[l.length - 1]) {
      i++
      l.pop()
    }
    l.push(L[i])
  }
  console.log(l.join(''))
})

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('data', (input) => { stdinInput += input;});
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){

    //     let l = []
    //     let len = s.length;
    // for (let i = 0; i < len; i++) {
    //     while (s[i] == l[l.length - 1]) {
    //     i++
    //     l.pop()
    //     }
    //     l.push(s[i])
    // }
    // console.log(l.join(''))

        let len = s.length;
        let a = [], n;
        n=0;
    for(let i=0; i<len; i++){
        if(n>0){
            if(s[i]==a[n-1]){
                a.pop();
                n--;
            }else{
                a.push(s[i]);
                n++;
            }
        }else{
            a.push(s[i]);
            n++;
        }
    }
    // console.log(a.join(''))
    // for(let i=0; i<n; i++)
    //     process.stdout.write(a[i]);
    process.stdout.write(a.join('')+'\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

;(function () {

	print(function (s) {
		for (var i = 0, _i = s.length, t = []; i < _i; i++) {
			t[['push', 'pop'][Number(s[i] === t.slice(-1)[0])]](s[i]);
		} return t.join('');
	}(readline()));

}.call(this));

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('data', (input) => { stdinInput += input;});
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){

    //     let l = []
    //     let len = s.length;
    // for (let i = 0; i < len; i++) {
    //     while (s[i] == l[l.length - 1]) {
    //     i++
    //     l.pop()
    //     }
    //     l.push(s[i])
    // }
    // console.log(l.join(''))

        let len = s.length;
        let a = [], n;
        n=0;
    for(let i=0; i<len; i++){
        if(n>0){
            if(s[i]==a[n-1]){
                a.pop();
                n--;
            }else{
                a.push(s[i]);
                n++;
            }
        }else{
            a.push(s[i]);
            n++;
        }
    }
    console.log(a.join(''))
    // for(let i=0; i<n; i++)
    //     process.stdout.write(a[i]);
    // process.stdout.write('\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('data', (input) => { stdinInput += input;});
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){

        let l = []
        let len = s.length;
    for (let i = 0; i < len; i++) {
        while (s[i] == l[l.length - 1]) {
        i++
        l.pop()
        }
        l.push(s[i])
    }
    console.log(l.join(''))

    //     let len = s.length;
    //     let a = [], n;
    //     n=0;
    // for(let i=0; i<len; i++){
    //     if(n>0){
    //         if(s[i]==a[n-1]){
    //             n--;
    //         }else{
    //             a[n] = s[i];
    //             n++;
    //         }
    //     }else{
    //         a[n] = s[i];
    //         n++;
    //     }
    // }

    // for(let i=0; i<n; i++)
    //     process.stdout.write(a[i]);
    // process.stdout.write('\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('data', (input) => { stdinInput += input;});
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){

        let l = []
    for (let i = 0; i < s.length; i++) {
        while (s[i] == l[l.length - 1]) {
        i++
        l.pop()
        }
        l.push(s[i])
    }
    console.log(l.join(''))

    //     let len = s.length;
    //     let a = [], n;
    //     n=0;
    // for(let i=0; i<len; i++){
    //     if(n>0){
    //         if(s[i]==a[n-1]){
    //             n--;
    //         }else{
    //             a[n] = s[i];
    //             n++;
    //         }
    //     }else{
    //         a[n] = s[i];
    //         n++;
    //     }
    // }

    // for(let i=0; i<n; i++)
    //     process.stdout.write(a[i]);
    // process.stdout.write('\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

const {EOL} = require('os')

let ipt = ''
process.stdin.on('data', s => ipt += s)
process.stdin.on('end', () => {
  let L = ipt.split(EOL).slice(0, -1)[0]
  let l
  do {
    l = L
    L = L.replace(/(\w)\1+/g, '')
      } while (l != L)
  console.log(L)
})

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('data', (input) => { stdinInput += input;});
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){
        let len = s.length;
        let a = [], n;
        n=0;
    for(let i=0; i<len; i++){
        if(n>0){
            if(s[i]==a[n-1]){
                n--;
            }else{
                a[n] = s[i];
                n++;
                console.log(a);
            }
        }else{
            a[n] = s[i];
            n++;
        }
    }

    for(let i=0; i<n; i++)
        process.stdout.write(a[i]);
    process.stdout.write('\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('readable', (input) => { stdinInput += input; });
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
      console.log(this.lines);
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){
        console.log(s);
        let len = s.length;
        let a = [], n;
        n=0;
    for(let i=0; i<len; i++){
        if(n>0){
            if(s[i]==a[n-1]){
                n--;
            }else{
                a[n] = s[i];
                n++;
                console.log(a);
            }
        }else{
            a[n] = s[i];
            n++;
        }
    }

    for(let i=0; i<n; i++)
        process.stdout.write(a[i]);
    process.stdout.write('\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('readable', (input) => { stdinInput += input; });
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s1, s2;
function main() {
    const is = new Scanner();

    while((s1 = is.nextLine())!==false){
        solve(s1);
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

function solve(s){
    // let a = [300000];
    // let n=0;
    let len = s.length;
    // for(let i=0; i<len; i++){
    //     if(n>0){
    //         if(s[i]==a[n-1]){
    //             n--;
    //         }else{
    //             a[n] = s[i];
    //             n++;
    //         }
    //     }else{
    //         a[n] = s[i];
    //         n++;
    //     }
    // }
    // // console.log(n);
    // for(let i=0; i<n; i++)
    //     process.stdout.write(a[i]);
    //     process.stdout.write('\n');

    let tam = [];
    let chay;
    if(len==1)
		{
			process.stdout.write(s+'\n');
			return;
		}
		chay=0;
		for(i=0; i<len; i++)
		{
			if(chay==0)
			{
				tam[chay]=s[i];
				chay++;
			}
			else
			{
				if(s[i]==tam[chay-1])
				{

					chay--;
				}
				else
				{
					tam[chay]=s[i];
					chay++;
				}
			}
		}
		for(let i=0; i<chay; i++)
            process.stdout.write(tam[i]);
        process.stdout.write('\n');
}

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('readable', (input) => { stdinInput += input; });
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s1, s2;
function main() {
    const is = new Scanner();

    while((s1 = is.nextLine())!==false){
        solve(s1);
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

function solve(s1){
    // let a = [300000];
    // let n=0;
    let len = s1.length;
    // for(let i=0; i<len; i++){
    //     if(n>0){
    //         if(s[i]==a[n-1]){
    //             n--;
    //         }else{
    //             a[n] = s[i];
    //             n++;
    //         }
    //     }else{
    //         a[n] = s[i];
    //         n++;
    //     }
    // }
    // // console.log(n);
    // for(let i=0; i<n; i++)
    //     process.stdout.write(a[i]);
    //     process.stdout.write('\n');

    let tam = [];
    let chay;
    if(len==1)
		{
			process.stdout.write(s1+'\n');
			return;
		}
		chay=0;
		for(i=0; i<len; i++)
		{
			if(chay==0)
			{
				tam[chay]=s1[i];
				chay++;
			}
			else
			{
				if(s1[i]==tam[chay-1])
				{

					chay--;
				}
				else
				{
					tam[chay]=s1[i];
					chay++;
				}
			}
		}
		for(let i=0; i<chay; i++)
            process.stdout.write(tam[i]);
        process.stdout.write('\n');
}

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('readable', (input) => { stdinInput += input; });
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){
        let len = s.length;
        let a = [], n;
        n=0;
    for(let i=0; i<len; i++){
        if(n>0){
            if(s[i]==a[n-1]){
                n--;
            }else{
                a[n] = s[i];
                n++;
            }
        }else{
            a[n] = s[i];
            n++;
        }
    }
    console.log(a);
    for(let i=0; i<n; i++)
        process.stdout.write(a[i]);
    process.stdout.write('\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('readable', (input) => { stdinInput += input; });
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){
        let len = s.length;
        let a = [], n;
        n=0;
    for(let i=0; i<len; i++){
        if(n>0){
            if(s[i]==a[n-1]){
                n--;
            }else{
                a[n] = s[i];
                n++;
            }
        }else{
            a[n] = s[i];
            n++;
        }
    }
    // console.log(n);
    for(let i=0; i<n; i++)
        process.stdout.write(a[i]);
        process.stdout.write('\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('readable', (input) => { stdinInput += input; });
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){
        let len = s.length;
        let a = [], n;
        n=0;
    for(let i=0; i<len; i++){
        if(n>0){
            if(s[i]==a[n-1]){
                n--;
            }else{
                a[n] = s[i];
                n++;
                console.log(a);
            }
        }else{
            a[n] = s[i];
            n++;
        }
    }

    for(let i=0; i<n; i++)
        process.stdout.write(a[i]);
    process.stdout.write('\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('readable', (input) => { stdinInput += input; console.log(input)});
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
      console.log(this.lines);
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){
        console.log(s);
        let len = s.length;
        let a = [], n;
        n=0;
    for(let i=0; i<len; i++){
        if(n>0){
            if(s[i]==a[n-1]){
                n--;
            }else{
                a[n] = s[i];
                n++;
                console.log(a);
            }
        }else{
            a[n] = s[i];
            n++;
        }
    }

    for(let i=0; i<n; i++)
        process.stdout.write(a[i]);
    process.stdout.write('\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('data', (input) => { stdinInput += input;});
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){

    //     let l = []
    //     let len = s.length;
    // for (let i = 0; i < len; i++) {
    //     while (s[i] == l[l.length - 1]) {
    //     i++
    //     l.pop()
    //     }
    //     l.push(s[i])
    // }
    // console.log(l.join(''))

        let len = s.length;
        let a = [], n;
        n=0;
    for(let i=0; i<len; i++){
        if(n>0){
            if(s[i]==a[n-1]){
                n--;
            }else{
                a[n] = s[i];
                n++;
            }
        }else{
            a[n] = s[i];
            n++;
        }
    }

    // for(let i=0; i<n; i++)
    //     process.stdout.write(a[i]);
    // process.stdout.write('\n');
    process.stdout.write(a.join('')+'\n');

//     let len = s.length;
//     let a = [], n;
//     n=0;
// for(let i=0; i<len; i++){
//     if(n>0){
//         if(s[i]==a[n-1]){
//             a.pop();
//             n--;
//         }else{
//             a.push(s[i]);
//             n++;
//         }
//     }else{
//         a.push(s[i]);
//         n++;
//     }
// }
// // console.log(a.join(''))
// // for(let i=0; i<n; i++)
// //     process.stdout.write(a[i]);
// process.stdout.write(a.join('')+'\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('readable', (input) => { stdinInput += input; });
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){
        let len = s.length;
        let a = [], n;
        n=0;
    for(let i=0; i<len; i++){
        if(n>0){
            if(s[i]==a[n-1]){
                n--;
            }else{
                a[n] = s[i];
                n++;
            }
        }else{
            a[n] = s[i];
            n++;
        }
    }
    console.log(n);
    for(let i=0; i<n; i++)
        process.stdout.write(a[i]);
        process.stdout.write('\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }

readline = require('readline')
let stdinInput = '';

function IO_IN_FILE(){
    //file
    var fs = require('fs');
    const inputfile = '_in.txt';
    const outputfile = '_out.txt';
    fs.writeFileSync(outputfile, '');
    var myInterface = readline.createInterface({
        input: fs.createReadStream(inputfile),
    });
    myInterface.on('line', function (line) {
        stdinInput += line+'\n';
    }).on('close', () => {
       main();
        process.exit(0);
    })

    process.stdout.write = function(data1){
        fs.appendFileSync(outputfile, data1, 'utf8');
    }
}

function IO_STD(){
    process.stdin.resume();
    process.stdin.setEncoding('utf-8');
    process.stdin.on('readable', (input) => { stdinInput += input; });
    process.stdin.on('end', () => { main(); });
}
   /*
   *  Api Scanner
   */
  class Scanner {
    constructor() {
      this.index = -1;
      this.lines = stdinInput.trim().split('\n'); // eslint-disable-line
    }

    nextLine() {
        if(this.index >= this.lines.length-1)
            return false;
        this.index += 1;
        return this.lines[this.index].trim();
    }
    nextArray(fn) {
        let checkarr = this.nextLine();
        if(checkarr===false)
            return false;
        const array = checkarr.split(' ');
        return fn === String ? array : array.map(fn);
    }

    hasNext() {
      return this.index < this.lines.length;
    }
  }

//   IO_IN_FILE();
IO_STD();

let ntest, s;
function main() {
    const is = new Scanner();

    while((s = is.nextLine())!==false){
        console.log(s);
        let len = s.length;
        let a = [], n;
        n=0;
    for(let i=0; i<len; i++){
        if(n>0){
            if(s[i]==a[n-1]){
                n--;
            }else{
                a[n] = s[i];
                n++;
                console.log(a);
            }
        }else{
            a[n] = s[i];
            n++;
        }
    }

    for(let i=0; i<n; i++)
        process.stdout.write(a[i]);
    process.stdout.write('\n');

    // let tam = [];
    // let chay;
    // if(len==1)
	// 	{
	// 		process.stdout.write(s+'\n');
	// 		return;
	// 	}
	// 	chay=0;
	// 	for(i=0; i<len; i++)
	// 	{
	// 		if(chay==0)
	// 		{
	// 			tam[chay]=s[i];
	// 			chay++;
	// 		}
	// 		else
	// 		{
	// 			if(s[i]==tam[chay-1])
	// 			{

	// 				chay--;
	// 			}
	// 			else
	// 			{
	// 				tam[chay]=s[i];
	// 				chay++;
	// 			}
	// 		}
	// 	}
	// 	for(let i=0; i<chay; i++)
    //         process.stdout.write(tam[i]);
    //     process.stdout.write('\n');
    }
}

// var readline = require('readline');

// const myInterface = readline.createInterface({
//     input: process.stdin,
//     output: process.stdout
//   });

// // var fs = require('fs');
// // fs.writeFileSync('_out.txt', '');
// // var myInterface = readline.createInterface({
// //     input: fs.createReadStream('_in.txt'),
// // });

// myInterface.on('line', function (line) {
//     solve(line);

// }).on('close', () => {
//     process.exit(0);
// })

// function solve(s){
//     // let a = [300000];
//     // let n=0;
//     let len = s.length;
//     // for(let i=0; i<len; i++){
//     //     if(n>0){
//     //         if(s[i]==a[n-1]){
//     //             n--;
//     //         }else{
//     //             a[n] = s[i];
//     //             n++;
//     //         }
//     //     }else{
//     //         a[n] = s[i];
//     //         n++;
//     //     }
//     // }
//     // // console.log(n);
//     // for(let i=0; i<n; i++)
//     //     process.stdout.write(a[i]);
//     //     process.stdout.write('\n');

//     let tam = [];
//     let chay;
//     if(len==1)
// 		{
// 			process.stdout.write(s+'\n');
// 			return;
// 		}
// 		chay=0;
// 		for(i=0; i<len; i++)
// 		{
// 			if(chay==0)
// 			{
// 				tam[chay]=s[i];
// 				chay++;
// 			}
// 			else
// 			{
// 				if(s[i]==tam[chay-1])
// 				{

// 					chay--;
// 				}
// 				else
// 				{
// 					tam[chay]=s[i];
// 					chay++;
// 				}
// 			}
// 		}
// 		for(let i=0; i<chay; i++)
//             process.stdout.write(tam[i]);
//         process.stdout.write('\n');
// }


function main(){
	var n = nextInt();
	var a = new Array(n);
	var ans = new Array(n);
	var  i;
	for(i =0; i<n ;i++)
		a[i] = {F:nextInt(),S:i};
	a.sort(function(a,b){
		return -(a.F - b.F);
	});
	var pos = 0;
	var cur = 1;
	i = 0;
	var common = 0;
	while(pos<n){
		common = cur;
		i = pos;
		while(i < n && a[i].F == a[pos].F){
			cur++;
			ans[a[i].S]=common;
			++i;
		}
		pos = i;
	}
	print(ans.join(" "));

}
var tokens = [];
var tokensPos = 0;
function next(){
	while(tokens.length<=tokensPos){
		tokens = readline().split(/[\s]+/);
		tokensPos = 0;
	}
	return tokens[tokensPos++];
}
function nextInt(){
	return parseInt(next());
}
main();

var n = +readline(), a = readline().split(" "), s = a.concat(), places = [];
s.sort(function(a,b){return b-a});

for(i = 0, p = 1; i < n ; i++){
	places[a.indexOf(s[i])] = p;
	if( (i != n-1) && (s[i] != s[i+1]) ){
		p = i+2;
	}
	delete a[a.indexOf(s[i])];
}
write(places.join(" "));

function main(n,arr){

      var ansstr = "";

      for(var i = 0 ; i < n ; i++){
        var ans = 1;
        for(var j = 0 ; j < n ; j++){
          if(arr[i]<arr[j])ans++
        }
        ansstr = ansstr + ans + " ";
      }

    print(ansstr);
}

var n = readline();

var arr = readline().split(" ");
for(var i = 0 ; i < arr.length ; i++)arr[i] = parseInt(arr[i]);

main(parseInt(n),arr);

var N = readline();
var inArr = readline().split(' ').map(Number);
var outArr = [];
for (var i = 0; i<N; i++) {
var poss = 1;
for (var k = 0; k<N; k++) {
if (inArr[i]<inArr[k]) {
poss += 1;
}
}
outArr[i] = poss;
}
print (outArr.join(" "));

function ProblemSolver() {
    this.HAS_TEST_CASES = false;
    this.INPUT_FILE_NAME = "test.in";
    this.OUTPUT_FILE_NAME = "out.txt";
    this.DO_OUTPUT_TO_FILE = false;
    this.CLEAR_ARRAY_PER_CASE = false;

    this.solveCase = function() {
        var res , i , j , fl , cn , temp ;
        res = 0 ;
        this.brr = [] ;
        for( i = 0 ; i < this.n ; i++ ) {
        	cn = 1 ;
        	for( j = 0 ; j < this.n ; j++ ) {
        		if( this.arr[ j ] > this.arr[ i ] ) {
        			cn++ ;
        		}
        	}
        	this.brr.push( cn ) ;
        }
        res = '' ;
        for( i = 0 ; i < this.n ; i++ ) {
        	if( i > 0 ) {
        		res += ' ' ;
        	}
        	res += this.brr[ i ] ;
        }
        print( res ) ;
    };

    this.init = function() {
        this.lim1 = 100010;
        this.lim2 = 110;
        this.cc = 1;
        this.ind = 1;
        this.n = 0;
        this.cn = 0;
        this.declareAndFillArrays();
    };

    this.getInput = function( irObj ) {
        var hasMoreInput , i;
        hasMoreInput = true;
        try {
            this.n = irObj.nextInt();
            this.arr = [] ;
            for( i = 0 ; i < this.n ; i++ ) {
                this.arr.push( irObj.nextInt() ) ;
            }
        }
        catch( ex ) {
            hasMoreInput = false;
        }
        return hasMoreInput;
    };

    this.clearArraysPerCase = function() {
        var i;
        this.arr = new Array();
        this.adjList = new Array();
        for( i = 0 ; i < this.lim1 ; i++ ) {
            this.arr.push( 0 );
            this.adjList.push( new Array() );
        }
    };

    this.clearPerCase = function() {
        this.cn = 0;
        this.cc++;
        if( this.CLEAR_ARRAY_PER_CASE == true ) {
            this.clearArraysPerCase() ;
        }
    };

    this.declareAndFillArrays = function() {
        var i , j;
        this.srr = new Array();
        this.vis = new Array();
        this.arr = new Array();
        this.brr = new Array();
        this.memo = new Array();
        this.done = new Array();
        this.adjList = new Array();
        for( i = 0 ; i < this.lim1 ; i++ ) {
            this.srr.push( "" );
            this.vis.push( 0 );
            this.arr.push( 0 );
            this.brr.push( 0 );
            this.adjList.push( new Array() );
        }
        for( i = 0 ; i < this.lim2 ; i++ ) {
            this.memo.push( new Array() );
            this.done.push( new Array() );
            for( j = 0 ; j < this.lim2 ; j++ ) {
                this.memo[ i ].push( -1 );
                this.done[ i ].push( 0 );
            }
        }
    };

    this.init();
}

function InputReader() {
    var self = this ;
    this.allLines = new Array();
    this.currrentLineNumber = 0;
    this.currrentCharacterIndex = 0;
    this.callBackFunction = null ;
    this.parentContext = null ;

    this.readAllLines = function() {
        var singleLine;
        while( true ) {
            try {
                singleLine = readline();
                if( singleLine == null ) {
                    break;
                }
            }
            catch( ex ) {
                break;
            }
            this.allLines.push( singleLine );
        }
    };

    this.readAllLinesFromRhino = function() {
        var brObj , line ;
        importPackage( java.io ) ;
        importPackage( java.lang ) ;
        brObj = new BufferedReader( new InputStreamReader( System[ 'in' ] ) ) ;
        this.allLines = [] ;
        while( true ) {
            line = brObj.readLine() ;
            if( line == null ) {
                break;
            }
            this.allLines.push( line ) ;
        }
    };

    this.readSingleLinesFromNodeJsJudgeServer = function( chunk ) {
        self.chunkData += chunk ;
    };

    this.readEndFromNodeJsJudgeServer = function() {
        self.parseRawData( self.chunkData ) ;
        self.parentContext.runCases() ;
    };

    this.readAllLinesFromNodeJsJudgeServer = function( parentContext ) {
        this.parentContext = parentContext ;
        process.stdin.resume() ;
        process.stdin.setEncoding( 'utf8' ) ;
        this.chunkData = '' ;
        process.stdin.on( 'data' , this.readSingleLinesFromNodeJsJudgeServer ) ;
        process.stdin.on( 'end' , this.readEndFromNodeJsJudgeServer ) ;
    };

    this.parseRawData = function( data ) {
        var len , i , currentString;
        len = data.length;
        currentString = "";
        this.allLines = [] ;
        for( i = 0 ; i < len ; i++ ) {
            if( data[ i ] == '\r' ) {
            }
            else if( data[ i ] == '\n' ) {
                this.allLines.push( currentString );
                currentString = "";
            }
            else {
                currentString += data[ i ];
            }
        }
        if( currentString != "" ) {
            this.allLines.push( currentString );
        }
    };

    this.readAllLinesFromFile = function( inputFileName ) {
        var currentDirectory , fsObj , inputFilePath , rawData;
        fsObj = require( 'fs' );
        currentDirectory = __dirname;
        inputFilePath = currentDirectory + "\\" + inputFileName;
        rawData = fsObj.readFileSync( inputFilePath , "utf8" );
        this.parseRawData( rawData );
    };

    this.next = function( flag ) {
        var len , i , startIdx , res , endIdx;
        if( flag == 0 ) {
            if( this.currrentCharacterIndex != 0 ) {
                this.currrentLineNumber++;
                this.currrentCharacterIndex = 0;
            }
            res = "";
            len = this.allLines[ this.currrentLineNumber ].length;
            if( typeof( len ) == 'function' ) {
                len = this.allLines[ this.currrentLineNumber ].length() ;
            }
            for( i = this.currrentCharacterIndex ; i < len ; i++ ) {
                res += '' + this.allLines[ this.currrentLineNumber ].charAt( i ) ;
            }
            this.currrentLineNumber++;
            this.currrentCharacterIndex = 0;
            return res;
        }
        while( true ) {
            if( this.currrentLineNumber >= this.allLines.length ) {
                throw new Error( "No more tokens available!" );
            }
            startIdx = -1;
            len = this.allLines[ this.currrentLineNumber ].length;
            if( typeof( len ) == 'function' ) {
                len = this.allLines[ this.currrentLineNumber ].length() ;
            }
            for( i = this.currrentCharacterIndex ; i < len ; i++ ) {
                if( this.allLines[ this.currrentLineNumber ].charCodeAt( i ) != ' '.charCodeAt( 0 ) ) {
                    startIdx = i;
                    break;
                }
            }
            if( startIdx == -1 ) {
                this.currrentLineNumber++;
                this.currrentCharacterIndex = 0;
                continue;
            }
            res = "";
            endIdx = len - 1 ;
            for( i = startIdx ; i < len ; i++ ) {
                if( this.allLines[ this.currrentLineNumber ].charCodeAt( i ) == ' '.charCodeAt( 0 ) ) {
                    endIdx = i;
                    break;
                }
                if( this.allLines[ this.currrentLineNumber ].charCodeAt( i ) >= 48 && this.allLines[ this.currrentLineNumber ].charCodeAt( i ) <= 57 ) {
                    res += '' + ( this.allLines[ this.currrentLineNumber ].charCodeAt( i ) - 48 ) ;
                }
                else {
                    res += '' + this.allLines[ this.currrentLineNumber ].charAt( i );
                }
            }
            this.currrentCharacterIndex = endIdx;
            if( endIdx == len - 1 ) {
                this.currrentLineNumber++;
                this.currrentCharacterIndex = 0;
            }
            return res;
        }
    };

    this.nextInt = function() {
        return parseInt( this.next( 1 ) );
    };

    this.nextDouble = function() {
        return parseFloat( this.next( 1 ) );
    };

    this.nextString = function() {
        return this.next( 1 );
    };

    this.nextLine = function() {
        return this.next( 0 );
    };
}

function FileOutputHandler() {
    this.resultantStringArray = new Array();

    this.addNewLine = function( newString ) {
        this.resultantStringArray.push( newString );
    };

    this.clearPercase = function() {
        this.resultantStringArray = new Array();
    };

    this.flushOutOutputToFile = function( outputFileName ) {
        var i , sz , res , currentDirectory , fsObj , outputFilePath;
        res = "";
        sz = this.resultantStringArray.length;
        for( i = 0 ; i < sz ; i++ ) {
            if( i != 0 ) {
                res += "\n";
            }
            res += this.resultantStringArray[ i ];
        }
        fsObj = require( 'fs' );
        currentDirectory = __dirname;
        outputFilePath = currentDirectory + "\\" + outputFileName;
        fsObj.writeFileSync( outputFilePath , res );
        this.clearPercase();
    };
}

function CodeExecutioner() {
    this.irObj = new InputReader();
    this.psObj = new ProblemSolver();
    this.fohObj = new FileOutputHandler();

    this.runCases = function() {
        if( this.psObj.HAS_TEST_CASES == true ) {
            testCases = this.irObj.nextInt();
            for( i = 0 ; i < testCases ; i++ ) {
                this.psObj.clearPerCase();
                this.psObj.getInput( this.irObj );
                this.psObj.solveCase();
            }
        }
        else {
            while( true ) {
                this.psObj.clearPerCase();
                hasMoreTestCases = this.psObj.getInput( this.irObj );
                if( hasMoreTestCases == false ) {
                    break;
                }
                this.psObj.solveCase();
            }
        }
        if( this.psObj.DO_OUTPUT_TO_FILE == true ) {
            this.fohObj.flushOutOutputToFile( this.psObj.OUTPUT_FILE_NAME );
        }
    };

    this.detectEnvironmentType = function() {
        var environmentType = null ;
        try {
            if( importPackage != null ) {
                environmentType = 'rhino' ;
            }
        }
        catch( ex1 ) {
            try {
                //for nodejs local server check
                if( __dirname != null && readline != null && typeof( readline ) != 'function' ) {
                    environmentType = 'local-node-js' ;
                }
            }
            catch( ex2 ) {
                try {
                    if( readline == null || typeof( readline ) != 'function' ) {
                        environmentType = 'server-node-js' ;
                    }
                    else {
                        try {
                            if( Map != null ) {
                                environmentType = 'spider-monkey' ;
                            }
                            else {
                                environmentType = 'javascript-v8' ;
                            }
                        }
                        catch( ex3 ) {
                            environmentType = 'javascript-v8' ;
                        }
                    }
                }
                catch( ex3 ) {
                    environmentType = 'server-node-js' ;
                }
            }
        }
        return environmentType ;
    };

    this.configureStreamsAndReadInput = function() {
        var testCases , i , hasMoreTestCases , isLocal , localContext , isNodeJsJudgeServer , environmentType ;
        isNodeJsJudgeServer = false ;
        environmentType = this.detectEnvironmentType() ;
        if( environmentType == 'local-node-js' ) {
            try {
                if( print == null || typeof( print ) != 'function' ) {
                    print = console.log;
                }
            }
            catch( ex ) {
                print = console.log;
            }
            if( this.psObj.DO_OUTPUT_TO_FILE == true ) {
                localContext = this.fohObj;
                print = function() {
                    localContext.addNewLine.apply( localContext , arguments );
                }
            }
            this.irObj.readAllLinesFromFile( this.psObj.INPUT_FILE_NAME );
            this.runCases() ;
        }
        else if( environmentType == 'server-node-js' ) {
            try {
                if( print == null || typeof( print ) != 'function' ) {
                    print = console.log;
                }
            }
            catch( ex ) {
                print = console.log;
            }
            this.irObj.readAllLinesFromNodeJsJudgeServer( this ) ;
        }
        else if( environmentType == 'javascript-v8' ) {
            this.irObj.readAllLines();
            this.runCases() ;
        }
        else if( environmentType == 'rhino' ) {
            this.irObj.readAllLinesFromRhino();
            this.runCases() ;
        }
        else if( environmentType == 'spider-monkey' ) {
            this.irObj.readAllLines();
            this.runCases() ;
        }
    };

    this.configureStreamsAndReadInput();
}

new CodeExecutioner();

function toi(x){return parseInt(x);}
(function(){
    var n=+readline();
    var a=readline().split(" ").map(toi);
    var res=a.map(function(x){ return 1+a.filter(function(y){return y>x;}).length});
    print(res.join(" "));
})();

var n = parseInt(readline(), 10);
var a = readline().split(' ').map(Number);

var b = [];

for (var i = 0; i < a.length; i++) {
	b.push([a[i], i + 1]);
}

b.sort(function(x, y) {
	return (x[0] - y[0]);
});

b.reverse();

var ans = [];

for (var i = 0; i < b.length; i++) {
	if (i == 0) {
		ans[b[i][1]] = i + 1;
	} else {
		if (b[i][0] === b[i-1][0]) {
			ans[b[i][1]] = ans[b[i-1][1]];
		} else {
			ans[b[i][1]] = i + 1;
		}
	}
}

print(ans.join(' '));

n = readline();
str = readline().split(' ').map(Number);

var arr = [];

for (var i = 0; i < n; i++) {
	var count = 0;

	for (var j = 0; j < n; j++) {
		if (str[j] > str[i]) {
			count++;
		};
	};

	arr.push(count + 1);
};

print(arr.join(' '));

'use strict';

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', (inputStdin) => {
  inputString += inputStdin;
});

process.stdin.on('end', (_) => {
  inputString = inputString
    .trim()
    .split('\n')
    .map((string) => {
      return string.trim();
    });

  main();
});

function readline() {
  return inputString[currentLine++];
}

function main() {
  const n = Number(readline())
  const a = readline().split(' ').map(Number)

  helper(n, a)
}

function helper(n, a) {
  let clone = [...a]
  clone.sort((a1, a2) => a2 - a1)
  let map = new Map()

  for (let i = 0; i < n; i++) {
    if (!map.has(clone[i])) {
      map.set(clone[i], i + 1)
    }
  }

  let result = ''
  for (let i = 0; i < n; i++) {
    result += map.get(a[i]) + ' '
  }

  console.log(result.substring(0, result.length))
}

'use strict';

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});

process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });

    main();
});

function readLine() {
    return inputString[currentLine++];
}

function printResult(x) {
    process.stdout.write(x);
}

function main() {
    const n = parseInt(readLine(), 10);
    const arr = readLine().split(' ').map((item, i, a) => new List(parseInt(item, 10), i));

    const result = gukiZAndContest(n, arr);
    printResult(result);
}

function List(value, pos) {
    this.value = value;
    this.pos = pos;
}

function compare(a, b) {
    if (a.value < b.value) return 1;
    if (a.value > b.value) return -1;
    return 0;
}

const gukiZAndContest = (n, a) => {
    a.sort(compare);

    const result = new Array(n);
    let ranking = 1;
    result[a[0].pos] = ranking;
    for (let i = 0; i < n - 1; i++) {
        if (a[i].value > a[i + 1].value) ranking = i + 2;
        result[a[i + 1].pos] = ranking;
    }

    return result.join(' ');
};

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: false
});
let c = 0;

rl.on('line', (d) => {
  if (c === 0) {
    c++;
    return;
  }

  const arr = d.split(' ').map(Number);
  const ans = [];

  for (let i = 0; i < arr.length; i++) {
    let counter = 1;
    for (let j = 0; j < arr.length; j++) {
      if (arr[i] < arr[j]) {
        counter++;
      }
    }
    ans.push(counter);
  }

  console.log(ans.join(' '));
  c++;
});