I am hitting hard to creating a lottery smart contract in solidity. I have tried a couple of ways, first I stored all the players address inside an array, but unfortunately that logic fail, just because of slow execution of array (when entries are more 1000+).

Now I am trying mapping `mapping(address => Struct) entries;`. Now what I have done here. I created a structure with user first ticket number and user last ticket number i.e `uint userFstTcktNumber;`
`uint userLstTcktNumber;`

Here is my structure

```
struct UserInfo {
        uint userFstTcktNumber;
        uint userLstTcktNumber;
    } UserInfo userinfo;

```

Then I created a mapping

```
mapping(address => UserInfo )  public entry;

```

Then I have Created a function to enter the values inside the mapping and structure.

```
   function letsdo(uint first, uint last) public{
        entry[msg.sender];
        userinfo.userLstTcktNumber = first;
        userinfo.userLstTcktNumber = last;
    }

```

Now what I want to do? I just want to get the values from the mapping and structure corresponding to the address, let's say I have 10 entries from `1 to 10` from address `"0x617F2E2fD72FD9D5503197092aC168c91465E7f2"` . And I have another 50 entries from `11 to 51` from another address `"0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C"`.

To return this I am using the function

```
   function get(address) public view returns(uint, uint){
         return (userinfo.userFstTcktNumber, userinfo.userLstTcktNumber); 
      }

```

But it's not returning me the expected result.

It's always returning the `userFstTcktNumber` is 0, no matter what address I have passed inside the `get()`.

What's wrong with this code?