how do I store the no1 in permeant memory

storing 10 digits in 5bytes is possible
poc for 9 digits in 4bytes:

unsigned long final_number = 0;
byte number[9] = {0};
unsigned long hundred_millions = 0;
unsigned long ten_millions = 0;
unsigned long millions = 0;
unsigned long hundred_thousands = 0;
unsigned long ten_thousands = 0;
unsigned int thousands = 0;
unsigned int hundreds = 0;
byte tens = 0;
byte unit = 0;
byte c = 0;
byte i = 0;
bool flag = 0;

void setup() {
  Serial.begin(115200);
  Serial.print("Enter 9 digit phone number please:");
  while (!(Serial.available() == 10)) {}
  while ((c = Serial.read()) != '\n') {
    number[i] = c - 48;
    Serial.write(number[i] + 48);
    i++;
    if (i > 10) {
      flag = 1;
      Serial.println(F("too many numbers try again"));
      break;
    }
  }
  Serial.println("");
  if (!flag) {
    hundred_millions = number[0] * 100000000L;
    ten_millions = number[1] * 10000000L;
    millions = number[2] * 1000000L;
    hundred_thousands = number[3] * 100000L;
    ten_thousands = number[4] * 10000L;
    thousands = number[5] * 1000;
    hundreds = number[6] * 100;    
    tens = number[7] * 10;
    unit = number[8] * 1;

    final_number+= hundred_millions;
    final_number+= ten_millions;
    final_number+=millions;
    final_number += hundred_thousands;
    final_number+=ten_thousands;
    final_number+=thousands;
    final_number+=hundreds;
    final_number+=tens;
    final_number+=unit;
    
    Serial.print(F("phone number="));
    Serial.println(final_number);
    Serial.print(F("size of final_number in bytes="));
    Serial.println(sizeof(final_number));
  }
  else Serial.println(F("you did some mistakes"));
}

void loop() {
  // put your main code here, to run repeatedly:

}

output:

Enter 9 digit phone number please:476866985
phone number=476866985
size of final_number in bytes=4

via 1 small function numbers can be decoded back if needed.