import std.stdio; // readln, writeln
import std.conv; // to
import std.array; // split
import std.string; // chomp
import std.math; // powmod

ulong MOD = 1_000_000_007;

void main()
{
  auto n  = readln.chomp.to!(long);
  auto a = readln.split().to!(long[]);
  long flag, iter, ans;
  while(flag < n)
  {
    long cntzero, cntone;
    foreach(e; a)
    {
      e >>= iter;
      auto tmp = e & 1;
      if (e < 1) flag++;
      if(tmp)
        cntone++;
      else
        cntzero++;
    }
    ans += powmod(2, iter, MOD) * (cntone + cntzero) % MOD;
    ans %= MOD;
  }
}