import std.stdio, std.conv, std.string;

void main(){
  int n=to!int(chomp(readln()));
  string s, t;
  s=chomp(readln());
  t=chomp(readln());

  if(n==1){
    writeln(3);
    return;
  }
  const mod=1_000_000_000+7;
  bool y=s[0]==t[0];
  long c=y? 3: 6;
  int i=y? 1: 2;
  while(i<n){
    if(i+1<n){
      if(s[i]==t[i]){
        if(y){
          (c*=2)%=mod;
        }else{
          // c*=1;
        }
        y=true;
        i++;
      }else{
        if(y){
          (c*=2)%=mod;
        }else{
          (c*=3)%=mod;
        }
        y=false;
        i+=2;
      }
    }else{
      if(y){
        (c*=2)%=mod;
      }else{
        // c*=1;
      }
      break;
    }
  }

  writeln(c);
}

/*
  1 : 2 2 3
  2 : 1 3 1
*/