Martin vs Dennis - Round 1: Who has more rep? I know there have been a lot of challenges about &quot;the two best code-golfers in the world&quot;, but this one is a bit more unique, being Round 1 in a series of (future) challenges involving the two of them.

Your task is to write a program or function that returns two different non-whitespace ASCII strings, corresponding to the one who has more reputation at the moment the program is ran, between Dennis ♦ and Martin Ender ♦. The tricky part is that you must output the exact string &quot;tie&quot; in case the reputation is identical (not likely), and the two different non-whitespace ASCII strings mentioned above should be different than &quot;tie&quot; *.
No input can be taken, such as usernames or user ids. As usual, URL shorteners are forbidden, and so are the common loopholes.
Examples:
Let the chosen string for Dennis be &quot;D&quot; and the chosen one for Martin Ender be &quot;M&quot; (should be specified)

If Dennis' rep &gt; Martin Ender's rep =&gt; D
If it's the other way around =&gt; M
If it's a tie =&gt; tie 



IMPORTANT! Voting on posts by Dennis &amp; Martin for the  sole purpose of affecting a tie in order to test the solutions below constitutes targeted voting which is forbidden across the Stack Exchange network. If you want to test that a solution properly outputs tie then change the IDs in it to those of 2 users you know to be tied. See this Meta post for more details.

*I think no one would have used that, anyway
05AB1E, 65 64 bytes
Code:
•в=6{•5ôvy’ƒËŠˆ.Â‚‹º.ŒŒ/†š/ÿ’.w’„Ö=&quot;Âˆ&quot;’¡1èт£þ}})ZQā*O&lt;“D M·‡“#è

Uses the 05AB1E encoding.

Explanation:
•в=6{• converts the number в=6{ from base 255 to base 10, resulting in 1201208478. The first half being the ID of Dennis (12012) and the second half being the ID of Martin (8478). Split into pieces of 5 using 5ô to get the following array:
['12012', '08478']

Luckily, we can leave the leading zero from Martin's ID, since this will still work (check the link before clicking to see the leading zero).
We now loop through this array using vy and construct the following string from this 05AB1E code:
’ƒËŠˆ.Â‚‹º.ŒŒ/†š/ÿ’  --&gt;  codegolf.stackexchange.com/users/ÿ

Whereas ÿ is the current element of the iterator (using string interpolation) Try it online!
After constructing the link, .w reads all data from the link, resulting into a huge amount of text. To scrape the reputation from this, we need to split on the string title=&quot;reputation&quot;. Or in a more compressed version: ’„Ö=&quot;Âˆ&quot;’. Split on this piece of string (with ¡) and get the second element (with 1è) and keep the first 100 characters (with т£).
Now, our scraped text looks a bit like this:
&gt;
        139,883 &lt;span class=&quot;label-uppercase&quot;&gt;reputation&lt;/span&gt;
   &lt;/div&gt;
   
&lt;div class=&quot;ba

This part is easy, we just remove anything but digits to remain the reputation number, for which we have a builtin (þ). We end the loop and wrap everything into an array }}).
Finally, we can go on to processing the reputation numbers:
ZQā*O&lt;“D M·‡“#è   -   On stack: an array in the format [Dennis rep, Martin rep]

Z                 # Get the maximum of the array
 Q                # Check for equality with the array
  ā*              # Multiply by it's index (1-indexed)
    O&lt;            # Sum and decrement by 1
      “D M·‡“#    # Push the array ['D', 'M', 'tie']
              è   # Get the element on the index of the sum

Which results in either D, M or tie.